我有以下字符串:"02-06-2018 16:25:28"
。我需要将它转换为DateTime
对象。我试过这样做:
[DateTime]::ParseExact('02-06-2018 16:25:28', 'dd-MM-yyyy hh:mm:ss', $null)
但它不起作用:
字符串未被识别为有效的DateTime。
是否还有[DateTime]::ParseExact
以外的其他函数支持解析此fomat dd-MM-yyyy hh:mm:ss
中的字符串?
我正在使用PowerShell v5.1。
答案 0 :(得分:4)
24小时制你需要HH
。 hh
是一个12小时的时钟,它不会识别第16个小时。我还建议使用InvariantCulture
代替$null
,因为后者有时无法使用。
$culture = [Globalization.CultureInfo]::InvariantCulture
[DateTime]::ParseExact('02-06-2018 16:25:28', 'MM-dd-yyyy HH:mm:ss', $culture)
答案 1 :(得分:0)
您也可以将日期/时间字符串传递给Get-Date
,它会为您转换它们:例如get-date "02-06-2018 16:25:28"
。这将返回一个System.DateTime对象,并且可以通过powershell以通常的方式进行操作。