将 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
注册表包含一个键,其字符串值很像:
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