我一直在玩正则表达式,它变得有点复杂。我正在运行Powershell 3.0并具有以下时间戳:
2017-07-26T00:00:39Z
我使用以下代码从时间戳中删除秒数并将其替换为00:
$($_.Timestamp -replace '^(.*)(\d\d)(.*)$','${1}00$3')
现在我的用例变得更加复杂,因为时间戳现在将采用以下格式摄取:
2017-08-17 00:00:34
这使事情变得复杂,因为我需要调整格式,以便KML正确地将其用作地标时间戳。所以我仍然需要剥离秒并替换为00但是还需要一个T来替换日期和时间之间的空格,并且在末尾附加一个Z来代表Zulu的时间戳。在单个正则表达式中是否可以这样?
答案 0 :(得分:3)
我不认为正则表达式是必要的。您应该能够使用DateTime
对象; e.g:
$date = Get-Date "2017-07-26T00:00:39Z"
您可以使用对象的ToString
方法以您想要的字符串格式输出; e.g:
$date.ToString("yyyy-MM-dd hh:mm:ss")