我有一个字符串类型的变量,看起来像这样 $ string =“ 07/07/2019 18:00”。我想将此变量转换为datetime类型的变量。格式应为MM / DD / YYYY HH:MM
$date = '07/07/2019'
$time = '18:00'
$datetime = $date + ' ' + $time
$datetime = [datetime]::ParseExact('$datetime', 'MM/DD/YYYY_HH:MM', $null)
使用上面的代码,我收到一条错误消息:
使用“ 3”个参数调用“ ParseExact”的异常:“未将字符串识别为有效的DateTime。”
还有另一种方法吗?
答案 0 :(得分:3)
您的格式字符串使用了错误的说明符,即DD
和YYYY
;参见custom date and time formats。
将代码更改为
$date = '07/07/2019'
$time = '18:00'
$datetime = $date + ' ' + $time
$datetime = [datetime]::ParseExact($datetime, 'MM/dd/yyyy HH:mm', $null)
$datetime
另外请注意,将$datetime
作为参考而不是作为单引号引起来的字符串。
您可以在此link下找到上述代码。
答案 1 :(得分:2)
[datetime]'07/07/2019 18:00'
Sunday, July 7, 2019 6:00:00 PM
或
[datetime]'7/7'
[datetime]'18:00'
[datetime]'6pm'
然后您可以添加或减去它们,但是答案是[时间跨度]。