【发布时间】:2017-05-29 05:42:05
【问题描述】:
我有一些日期变量,用于对特定目录中的文件执行查询。我可以GCI每个文件都没有问题,如下例所示:
File1.xml 14/07/2016 17:09
File2.xml 15/07/2016 09:32
所以我正在搜索特定年龄段之间的所有文件,我的标准是:
早于:
$Today4am = Get-Date -Hour 4 -Minute 0 -Second 0
但晚于
$Yesterday4am = $Today4am.AddDays(-1)
变量输出
$Today4am = 15 July 2016 04:00:00
$Yesterday4am = 14 July 2016 04:00:00
所以变量以不同的格式将日期输出到文件本身,所以我需要确保两种格式相同才能进行比较。这是原始脚本:
$Filter = gci c:\temp\*.xml |
Where {$_.LastWriteTime -gt $Yesterday4am -and {$_.LastWriteTime-lt $Today4am}}
运算符“-gt”的参数错误:无法将“14/07/2016 17:09:52”与“14/07/2016 0”进行比较 4:00”。错误:“无法将值“14/07/2016 04:00”转换为类型“System.DateTime”。错误: "字符串未被识别为有效的日期时间。""。
所以我尝试将变量转换为添加 -Format "dd/MM/yyyy HH:mm" 并输出正确的格式。但是转换 $Yesterday4am = $Today4am.AddDays(-1) -Format "dd/MM/yyyy HH:mm" 会产生错误:
Cannot convert value "15/07/2016 04:00" to type "System.DateTime". Error: "String was not recognized as a valid DateTime."
我怎样才能让两种日期格式一致?
【问题讨论】:
标签: powershell datetime