在PowerShell中将日期格式yyyy/MM/dd/hh/mm/ss转换为datetime对象

Cra*_*erT 1 powershell datetime date

我试图将我从Linux系统接收的日期作为格式的字符串yyyy/MM/dd/hh/mm/ss,我想将其转换为日期时间的PowerShell对象.我尝试过使用该ParseExact方法,但似乎在这里遗漏了一些东西,因为我不断收到DateTime格式无效的消息.也许我完全以错误的方式解决这个问题.有什么建议?

$DateTimeObject = [datetime]::ParseExact('2018/05/21/14/08/17',"yyyy/MM/dd/hh/mm/ss",$null)
Run Code Online (Sandbox Code Playgroud)

使用"3"参数调用"ParseExact"的异常:"字符串未被识别为有效的DateTime." 在行:1 char:1 + [datetime] :: ParseExact('2018/05/21/14/08/17',"yyyy/MM/dd/hh/mm/ss",$ n ... +〜 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:FormatException

iCo*_*dez 10

您的日期字符串包含14小时,即24小时制.hh但是只支持该范围内的小时数01-12.您需要使用大写HH:

$DateTimeObject = [datetime]::ParseExact('2018/05/21/14/08/17',"yyyy/MM/dd/HH/mm/ss",$null)
#                                                                          ^^
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到所有有效格式代码的列表.