在VB.NET中获取文件修改日期

时间:2010-09-08 13:47:03

标签: .net vb.net file-io last-modified

我在文件夹中有很多文件,我需要获取最后修改日期。所以我用了

FDate = IO.File.GetLastWriteTime(FName)

它适用于某些文件,但在其他文件中,我的日期为1/1/1601。但是当我在Windows资源管理器中检查文件时,所有日期看起来都很正常(最近)。所以,我猜测文件系统中存储了多个文件日期,而.NET所看到的并不是Windows所看到的。如何在文件浏览器窗口中准确显示“修改日期”的日期?

我尝试了一些Visual Basic 6.0 API的东西,但这似乎不适用于.NET。

2 个答案:

答案 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