如何从DateTime对象获取日历日的开始?

时间:2016-07-25 02:25:21

标签: powershell datetime

我正在尝试根据目录中最新文件的日期过滤早于某一天的文件。

我可以获得LastWriteTime,这似乎是某个文件的确切时间,例如7/24/2016 10:48 AM

如何从对象中剥离10:48 AM部分,以便我可以与7/24/2016 12:00 AM进行比较?

3 个答案:

答案 0 :(得分:1)

使用Date property检索同一日期午夜的新DateTime值:

> $file.LastWriteTime

Sunday, July 24, 2016 10:48:00 AM


> $file.LastWriteTime.Date

Sunday, July 24, 2016 12:00:00 AM

答案 1 :(得分:1)

LastWriteTimeSystem.IO.DirectoryInfo返回的System.IO.FileInfoGet-ChildItem个实例的Get-Item属性返回System.DateTime类型的实例。
(验证:(Get-Item \).LastWriteTime.GetType().FullName

System.DateTime表示某个时间点(日期+时间),但具有.Date属性,该属性返回另一个System.DateTime实例,其中时间部分设置为午夜在输入日期的开始,实际上只代表一个日期。

比较

(Get-ChildItem \).LastWriteTime

(Get-ChildItem \).LastWriteTime.Date

答案 2 :(得分:0)

$thing.LastWriteTime.Day    # e.g. 10, (10th day of the month)

$thing.LastWriteTime.DayOfWeek   # e.g. Wednesday