Получить дату изменения файла в VB.NET

У меня есть несколько файлов в папке, и мне нужно получить дату последнего изменения. Так что я использовал

FDate = IO.File.GetLastWriteTime(FName)

С некоторыми файлами он работает нормально, но на других я получаю дату 01.01.16. Но когда я проверяю файлы в проводнике, все даты выглядят нормально (недавно). Итак, я предполагаю, что в файловой системе хранится несколько файлов с датами, и Windows видит их не так. Как я могу получить именно ту дату, которая отображается как "дата изменения" в окне проводника?

Я попробовал некоторые API Visual Basic 6.0, но, похоже, это не работает в.NET.

2 ответа

Из метода File.GetLastWriteTime:

Если файл, описанный в параметре пути, не существует, этот метод возвращает 12:00 полуночи, 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
Другие вопросы по тегам