Я хотел бы спросить, может ли Delphi Indy ftp idFTP.GET сохранить дату создания и изменения файла? Если нет, то как я могу это сделать?
Спасибо!
TIdFTP.Get()
создает новый локальный файл, поэтому ОС будет по умолчанию назначать текущую дату/время этому файлу. Чтобы назначить временную метку удаленного файла локальному файлу, вам нужно будет получить временную метку удаленного файла с помощью TIdFTP.FileDate()
, TIdFTP.List()
или TIdFTP.ExtListDir()
, а затем применить временную метку к локальному файлу с помощью API-интерфейсов для конкретной платформы, таких как SetFileTime( ) в Windows, utimensat()/futimens() в Linux и т. д.
@AmigoJack, этот пост старый. Теперь есть команды для определения локального часового пояса FTP-сервера и запросы TIdFTP
, которые по умолчанию видят свойство TIdFTP.TZInfo
. Кроме того, TIdFTP.FileDate()
и современные списки каталогов могут предоставлять временные метки в формате UTC, поэтому вам все равно не всегда нужен часовой пояс сервера.
Хотя это правда (и так очень очевидно): КАК ПОЛУЧИТЬ: Настройка часового пояса FTP-сервера?