我在文件夹中有很多文件,我需要获取最后修改日期。所以我用了
FDate = IO.File.GetLastWriteTime(FName)
它适用于某些文件,但在其他文件中,我的日期为1/1/1601。但是当我在Windows资源管理器中检查文件时,所有日期看起来都很正常(最近)。所以,我猜测文件系统中存储了多个文件日期,而.NET所看到的并不是Windows所看到的。如何在文件浏览器窗口中准确显示“修改日期”的日期?
我尝试了一些Visual Basic 6.0 API的东西,但这似乎不适用于.NET。
答案 0 :(得分:32)
来自File.GetLastWriteTime Method:
如果path参数中描述的文件不存在,则此方法返回美国俄勒冈州公元1601年1月1日午夜12点,协调世界时(UTC),调整为当地时间。
您查询的文件可能已丢失。
答案 1 :(得分:4)
下面提到的查询将为文件夹中包含的所有文件获取正确的LastModifiedDate
。
Dim strFilepath = "" 'Specify path details
Dim directory As New System.IO.DirectoryInfo(strFilepath)
Dim File As System.IO.FileInfo() = directory.GetFiles()
Dim File1 As System.IO.FileInfo
For Each File1 In File
Dim strLastModified As String
strLastModified = System.IO.File.GetLastWriteTime(strFilepath & "\" & File1.Name).ToShortDateString()
Next