2015-11-06 140 views
1

我試圖將文件的修改日期與特定日期進行比較。比較修改日期與特定日期(VBS)

什麼我是這樣的:

If FormatDateTime(objFile.DateLastModified,vbShortDate) = specificDate Then 
     'Do something 
End if 

我使用則IsDate與#11/9 /到2015年#值的變量嘗試,但始終返回false。我無法弄清楚如何將變量「specificDate」設置爲11/9/2015。

+0

您不想使用'FormatDateTime()'比較'Date',因爲該函數會根據您指定的格式生成日期的字符串表示形式。只比較'Date'變量只能在比較中使用'objFile.DateLastModified'。 – Lankymart

+0

這裏有一些有用的信息 - http://stackoverflow.com/questions/16078043/vbs-objfile-datelastmodified-and-date-format-settings – Lankymart

回答

0

如果您僅比較日期(但不是時間),那麼您必須切斷最後修改值的小數部分,因爲整數部分表示天數,小數部分表示小時,分鐘和秒。在進行任何更改之後,將值轉換回日期類型並使用CDate()以及比較前的包含字符串的日期。

Sub Test() 
    dtSpecificDate = CDate("11/9/2015") 
    With CreateObject("Scripting.FileSystemObject").GetFile("C:\Test\tmp.txt") 
     dtLastModified = CDate(Int(.DateLastModified)) 
    End With 
    If dtLastModified = dtSpecificDate Then 
     ' Do something 
    End If 
End Sub