Информация о времени создания файла / времени последней записи возвращается классом FileInfo , который предоставляет время создания, время последней записи и время последнего доступа к файлу через FileSystemInfo class.
Посмотрите, нужно ли вам Время создания файла или Время последней записи, в зависимости от ваших требований.
Время последнего доступа может возвращать только создание файла DateTime
, в зависимости от системы.
Пример с измененным методом ListFiles
:
Я добавил в метод параметр OlderThanMonths
, который используется для указания сколько лет файл должен быть включен в список.
Здесь ссылка DateTime
равна LastWriteTime
.
Private Sub ListFiles(ByVal folderPath As String, OlderThanMonths As Integer)
filesListBox.Items.Clear()
Dim fileNames As String() = Directory.GetFiles(folderPath, "*.xl*", SearchOption.TopDirectoryOnly)
ListBox1.BeginUpdate()
For Each fileName As String In fileNames
Dim FIinfo As New FileInfo(fileName)
If FIinfo.LastWriteTime.AddMonths(OlderThanMonths) <= Date.Now Then
filesListBox.Items.Add(fileName)
End If
Next
ListBox1.EndUpdate()
End Sub
Или с LINQ Where()
фильтр:
Private Sub ListFiles(ByVal folderPath As String, OlderThanMonths As Integer)
filesListBox.Items.Clear()
filesListBox.Items.AddRange(
Directory.GetFiles(folderPath, "*.xl*", SearchOption.TopDirectoryOnly).
Where(Function(f) New FileInfo(f).LastWriteTime.AddMonths(OlderThanMonths) <= Date.Now).
ToArray())
End Sub