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

Posted

技术标签:

【中文标题】在 VB.NET 中获取文件修改日期【英文标题】:Get file modified date in VB.NET 【发布时间】:2011-04-09 18:15:42 【问题描述】:

我的文件夹中有许多文件,我需要获取上次修改日期。所以我用了

FDate = IO.File.GetLastWriteTime(FName)

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

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

【问题讨论】:

【参考方案1】:

来自File.GetLastWriteTime Method:

如果路径参数中描述的文件不存在,则此方法返回 1601 年 1 月 1 日午夜 12:00,协调世界时 (UTC),调整为本地时间。

您正在查询的文件可能已丢失。

【讨论】:

我不敢相信,你说得对,它不是!!不过更早了!!其他奇怪的事情正在发生。有趣的是,当您遇到问题时,有时会错过明显的问题。干杯【参考方案2】:

下面提到的查询将为文件夹中包含的所有文件获取正确的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

【讨论】:

以上是关于在 VB.NET 中获取文件修改日期的主要内容,如果未能解决你的问题,请参考以下文章

在数据库中获取日期时出错(BETWEEN 子句| VB.NET|OLE)

vb.net如何动态调用WebService接口啊

在 vb.net 中获取可执行文件的路径?

在 vb.net 中获取下载文件的大小

在 VB.NET 中拖放并获取文件路径

如何获取表中的最后一个自动增量值? VB.NET