Хотя я думаю, что одним из вариантов является использование часовых поясов, если это применимо, это также не сложно сделать вручную:
Некоторые поддельные имена файлов, согласно вашему описанию:
filenames <- c("2018-10-26 17/11/00.wav", "2018-10-26 03/22/00.wav")
Первым шагом является удаление части имени без отметки времени, которая в данном случае должна быть просто расширением файла:
gsub(".wav", "", filenames)
# [1] "2018-10-26 17/11/00" "2018-10-26 03/22/00"
Теперь, если мы преобразуем их в POSIXt
объекты и вычтем магию "5 часов":
as.POSIXct(gsub(".wav", "", filenames), format="%Y-%m-%d %H/%M/%S") - 3600*5
# [1] "2018-10-26 12:11:00 PDT" "2018-10-25 22:22:00 PDT"
теперь мы можем использовать format
для повторного ввода имен файлов, как вы и предполагали:
newfilenames <- format(as.POSIXct(gsub(".wav", "", filenames), format="%Y-%m-%d %H/%M/%S") - 3600*5,
"%Y-%m-%d %H:%M:%S.wav")
newfilenames
# [1] "2018-10-26 12:11:00.wav" "2018-10-25 22:22:00.wav"
Тогда вы можете просто переименовать их в file.rename(filenames, newfilenames)
.