Моя камера производит такие файлы, как IMG_1234.JPG
и MVI_1234.AVI
с отметками времени на этих файлах. К сожалению, время не было установлено правильно, а временные метки отключены.
Я хотел бы установить временную метку файла на диске. (не данные EXIF).
Предлагаемый алгоритм:
1 read file's modify date
2 add delta, i.e. hhmmss (preferred: change timezone)
3 write new timestamp
Есть простой способ сделать это? возможно, можно было бы упростить вычисление, используя время эпохи (с тех пор, как секунды), и создать сценарий оболочки.
Ответы:
touch
можно сделать это:http://linux.about.com/library/cmd/blcmdl_touch.htm
Чтобы изменить mtime, добавьте
--time=mtime
источник
-r file
опцию, она становится относительной к этому файлу. Поэтому, если у вас есть время относительно того же файла, которым вы манипулируете, вы получите то, что хотите.Объединяя вышесказанное, если AM / PM был неправ ...
Исправьте временные метки файла:
Затем обновите информацию EXIF в файлах jpg до исправленной отметки времени:
Не забудьте зафиксировать настройку времени в вашей камере.
источник
перебирает все файлы в подкаталоге all: используйте stat, чтобы получить время эпохи / unix файлов в секундах, коснитесь, чтобы проанализировать сумму как новую дату для mtime и записать в файл
Pythonian подход см. /programming/1158076/implement-touch-using-python
источник
Я делаю то же самое в OS X, и синтаксис touch здесь немного меняется.
Я использую:
touch -r "filename" -A '013007' "filename"
Это отрегулирует + 1 час 30 минут 7 секунд относительно первоначального измененного времени.
'-013007'
чтобы повернуть время вспять.источник
Linux, используя touch, чтобы изменить последнюю измененную временную метку:
Создайте файл с отметкой времени сейчас:
Измените отметку времени на 2 часа назад:
Измените отметку времени на 200 часов назад:
Измените отметку времени на 30 дней назад:
Для махинаций установите дату последнего изменения в будущем:
Видимо, мы будем вечеринкой, как сегодня вечером 3012.
источник
-
) не говорит касаться 400 000 дней в прошлом , и все же это заканчивается в будущем? Или подождите, вы хотите сказать, чтобы дважды отрицать дату, минус + назад = будущее ...? Яр матейИспользуйте jhead:
http://www.sentex.net/~mwandel/jhead/usage.html
источник