在Powershell中检索datetime对象而没有时间部分

时间:2017-10-30 22:44:49

标签: powershell datetime

是否可以在PowerShell中仅检索日期时间对象的日期部分?原因是我需要将文件的val result: Try[Unit] = Try { //some code that may generate exceptions () } 属性与今天的日期进行比较,以确定是否备份文件。 as-is datetime对象包括时间,当我执行以下操作时,它总是评估为false:

LastWriteTime

我还没有发现这样做。如果我们使用格式运算符或方法,它会将对象转换为字符串对象。如果您尝试将其转换回datetime对象,它会将时间追加到对象上。可能是一些简单的事情,但我一直在看这个剧本一段时间,这是最后一部分。

2 个答案:

答案 0 :(得分:0)

这不会回答如何删除日期时间,而是用于确定何时备份的验证目的。

我建议您减去两个给定的日期值,并比较结果,如果已达到总小时数,则进行备份。

if (( $currentDate - $fileDate ).TotalDays > 7) {
# Do Backup
}

您还可以验证以下内容

Days              : 
Hours             : 
Minutes           : 
Seconds           : 
Milliseconds      : 
Ticks             :
TotalDays         : 
TotalHours        : 
TotalMinutes      : 
TotalSeconds      : 
TotalMilliseconds : 

答案 1 :(得分:0)

假设$ fileDate不是dateTime对象,则可以将它们都转换为字符串并设置其格式。

if ($fileDate.ToString() -eq $currentDate.ToString("dd/MM/yyyy")) {
    # Do backup
}