Пакет R fs предоставляет функцию file_info()
, которая возвращает тиббл, содержащий переменные:
modification_time
Время последнегоизменение данных, как дата-время POSIXct. access_time
Время последнего доступа - как дата-время POSIXct. change_time
Время последнего изменения состояния файла - как дата-время POSIXct.
Теперь мне интересно В чем различия между modification_time
и change_time
?
Что я заметил до сих пор, так это то, что change_time
кажетсябыть невосприимчивым к "хронологическим несоответствиям". Пример:
library(magrittr)
fs::file_create("test_file")
fs::file_info("test_file") %>% dplyr::select(modification_time, access_time, change_time)
#> # A tibble: 1 x 3
#> modification_time access_time change_time
#> <dttm> <dttm> <dttm>
#> 1 2019-10-24 13:23:35 2019-10-24 13:23:35 2019-10-24 13:23:35
# change access and modification times to current Sys.time()
# -> both modification_time and change_time will be updated
Sys.sleep(1)
fs::file_touch("test_file")
fs::file_info("test_file") %>% dplyr::select(modification_time, access_time, change_time)
#> # A tibble: 1 x 3
#> modification_time access_time change_time
#> <dttm> <dttm> <dttm>
#> 1 2019-10-24 13:23:37 2019-10-24 13:23:37 2019-10-24 13:23:37
# change access and modification times to the past (-2 min)
# -> only modification_time will be updated
fs::file_touch("test_file", Sys.time() - 120)
fs::file_info("test_file") %>% dplyr::select(modification_time, access_time, change_time)
#> # A tibble: 1 x 3
#> modification_time access_time change_time
#> <dttm> <dttm> <dttm>
#> 1 2019-10-24 13:21:37 2019-10-24 13:21:37 2019-10-24 13:23:37
# change access and modification times to the future (+5 min)
# -> only modification_time will be updated
fs::file_touch("test_file", Sys.time() + 300)
fs::file_info("test_file") %>% dplyr::select(modification_time, access_time, change_time)
#> # A tibble: 1 x 3
#> modification_time access_time change_time
#> <dttm> <dttm> <dttm>
#> 1 2019-10-24 13:28:37 2019-10-24 13:28:37 2019-10-24 13:23:37
Создано в 2019-10-24 с помощью пакета Представить (v0.3.0)
Базовая функция R file.mtime()
возвращает только modification_time
сверху.