繁体   English   中英

PowerShell - 将变量中的字符串转换为日期时间格式

[英]PowerShell - Convert String in variable to Datetime format

如何将变量中保存的字符串日期转换为日期时间格式。

当我运行下面的命令 (1) 时,变量$stringdate包含字符串'2020-04-10 09:15:30'我收到以下错误:

InvalidArgument: Cannot convert value "2020-04-10 09:15:30" to type "System.DateTime"`. 
Error: "String '2020-04-10 09:15:30' was not recognized as a valid DateTime."

如果我使用字符串"2020-04-10 09:15:30"而不是变量$stringdate运行命令 (2),它不会出错并返回10 April 2020 09:15:30 ??

#(1)

$date = $stringdate
    
[datetime]$date
# (2)
    
$date ="2020-04-10 09:15:30"
    
[datetime]$date

您已经在问题中写下了问题的原因:您有一个字符串而不是日期时间。 这就是你出错的原因。 您必须将字符串解析为日期时间对象。

您可以使用 ParseExact。 如果你想要格式 'yyyy-MM-dd HH:mm:ss',试试这个:

$stringDate = "2020-04-10 09:15:30"
$dateTime = [datetime]::ParseExact($stringDate, 'yyyy-MM-dd HH:mm:ss', $null)
echo $dateTime

输出:

Friday, 10. April 2020 09:15:30

欲了解更多信息: ParseExact

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM