将 Get-Date 与 Date as String 进行比较

Compare Get-Date to Date as String

注册表包含一个键,其字符串值很像:

23-01-2015 14-58-00

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

您需要使用 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 format placeholders 表示年、月、日等。如果我没有假设正确的格式占位符,只需单击上面的 link找到你想要的。

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

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