在 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 中获取文件修改日期的主要内容,如果未能解决你的问题,请参考以下文章