gpt4 book ai didi

PowerShell:从字符串中提取时间戳

转载 作者:行者123 更新时间:2023-12-04 17:54:31 25 4
gpt4 key购买 nike

我是 PowerShell 的新手,并且已经想出了如何从日志文件中提取相关行:

C:\Documents and Settings\admin\Local Settings\Application Data\Microsoft\SyncToy\2.0\SyncToyLog.log:325:SYNC: 05/22/2012 14:54:55:857: SyncToy run of Profile Backup (C:\Documents and Settings\admin\, H:\Sync\) completed at 5:22/2012 2:54:55 PM.

我想要做的是将第一个时间戳 sans 毫秒(使用 24 小时时间的时间戳)提取到一个变量中。结果:
05/22/2012 14:54:55

任何援助将不胜感激。

最佳答案

一种方法是使用正则表达式解析日期/时间字符串,然后将其转换为日期/时间对象:

$line = 'C:\Documents and Settings\admin\Local Settings\Application Data\Microsoft\SyncToy\2.0\SyncToyLog.log:325:SYNC: 05/22/2012 14:54:55:857: SyncToy run of Profile Backup (C:\Documents and Settings\admin\, H:\Sync\) completed at 5:22/2012 2:54:55 PM.'

$dateTimeString = [regex]::Matches($line, '(\d\d/\d\d/\d\d\d\d.+): ')[0].Groups[1].Value

然后将其转换为日期时间对象:
$provider = New-Object System.Globalization.CultureInfo "en-US"

$dateTime = [datetime]::ParseExact($dateTimeString, 'MM/dd/yyyy HH:mm:ss:fff', $provider)

现在,您可以根据需要显示它或将其存储在变量中:
$dateTime -f 'MM/dd/yyyy HH:mm:ss'

关于PowerShell:从字符串中提取时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10710950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com