在VB.NET中获取文件修改日期
问题描述:
我在文件夹中有多个文件,并且需要获取上次修改日期。所以我用在VB.NET中获取文件修改日期
FDate = IO.File.GetLastWriteTime(FName)
它对一些文件工作正常,但在其他人,我得到日期1/1/1601。但是当我在Windows资源管理器中检查文件时,所有日期看起来都很正常(最近)。所以,我猜测有多个文件存储在文件系统中,而.NET所看到的并不是Windows所看到的。我怎样才能得到在文件浏览器窗口中显示为“修改日期”的日期?
我尝试了一些Visual Basic 6.0 API的东西,但这似乎在.NET中不起作用。
答
从File.GetLastWriteTime Method:
如果path参数描述的文件不存在,这个方法返回午夜12点,1月1日,公元1601(CE)协调世界时(UTC),调整为当地时间。
您查询的文件可能丢失。
答
对于文件夹中包含的所有文件,下面提到的查询将得到正确的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
我不敢相信,你说的对,它不是!但它是更早!其他更奇怪的事情正在发生。有趣的是,当你陷入困境时,你有时会错过显而易见的事实。干杯 – Ianb 2010-09-08 14:10:27