我正在尝试根据目录中最新文件的日期来筛选超过某一天的文件。
我可以得到LastWriteTime
,这似乎是某个文件的确切时间,比如7/24/2016 10:48 AM
。
如何将10:48 AM
部分从对象中剥离,以便与7/24/2016 12:00 AM
进行比较?
使用Date
属性检索同一日期午夜的新DateTime
值:
> $file.LastWriteTime
Sunday, July 24, 2016 10:48:00 AM
> $file.LastWriteTime.Date
Sunday, July 24, 2016 12:00:00 AM
Get-ChildItem
和Get-Item
返回的System.IO.DirectoryInfo
和System.IO.FileInfo
实例的LastWriteTime
属性返回类型为System.DateTime
的实例
(使用:(Get-Item ).LastWriteTime.GetType().FullName
)进行验证
System.DateTime
表示一个时间点(日期+时间),但具有.Date
属性,该属性返回另一个System.DateTime
实例,其中在输入日期的开始时,时间部分设置为午夜,实际上仅表示日期。
比较
(Get-ChildItem ).LastWriteTime
至
(Get-ChildItem ).LastWriteTime.Date
$thing.LastWriteTime.Day # e.g. 10, (10th day of the month)
$thing.LastWriteTime.DayOfWeek # e.g. Wednesday