如何转换字符串' 2016/2/9'到约会时间?

时间:2016-12-20 04:24:41

标签: powershell

我有一个事件列表,其中包含日期时间的字符串格式' 2016/2/9 02:03:01'。 我用:

$d1 = [datetime]::ParseExact('2015/12/19 08:15:32', 'yyyy/MM/dd HH:mm:ss', $null)

它出现了FormatException错误:

以 "3" 引數呼叫 "ParseExact" 時發生例外狀況: "字串未被辨認為有效的 DateTime。"
位於 J:\Qsync\WORKSPACE\SHELL\trypsl101.ps1:310 字元:5
+     $d1 = [datetime]::ParseExact('2016/2/9 02:03:01', 'yyyy/MM/dd HH:mm:ss', 
$nu ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : FormatException

如何解析具有不同数字长度的日期字符串?

2 个答案:

答案 0 :(得分:6)

请参阅Custom Date and Time Format Strings

MM具体为两位数月份,dd为两位数日(分别为0209)。

使用M表示可以指定为1或2位数的月份,使用d表示同一天使用的数字。

$d1 = [datetime]::ParseExact('2016/2/9 02:03:01', 'yyyy/M/d HH:mm:ss', $null)

答案 1 :(得分:1)

为什么不简单地使用get-date?

$d1=get-date '2015/12/19 08:15:32' 
$d2=get-date '2016/2/9 02:03:01'