将Get-Date与Date比较为String

时间:2015-01-23 16:50:38

标签: powershell

注册表包含一个键,其字符串值非常类似于:

23-01-2015 14-58-00

使用PowerShell我需要比较这个日期,以确保它大于(Get-Date).AddDays(-1)返回的值。但是格式不同,我不能在两者之间进行比较,也不能格式化Get-Date,因为.AddDays不能对字符串运行。有任何想法吗?

1 个答案:

答案 0 :(得分:4)

您需要使用ParseExact

[datetime]::ParseExact("23-01-2015 14-58-00","dd-MM-yyyy HH-mm-ss",$null)

Friday, January 23, 2015 2:58:00 PM

这将输出DateTime对象。 "dd-MM-yyyy HH-mm-ss"是指定所需DateTime格式的特定映射,使用DateTime format placeholders表示年,月,日等。如果我没有假设格式占位符正确,只需点击上面的链接即可查找你想要的。

之后,您可以按预期比较两个DateTime对象:

$myDate = [datetime]::ParseExact("23-01-2015 14-58-00","dd-MM-yyyy HH-mm-ss",$null)
$myDate -gt (Get-Date).AddDays(-1)
True