Minha câmera produz arquivos como IMG_1234.JPG
e MVI_1234.AVI
com registro de data e hora nesses arquivos. Infelizmente, a hora não foi definida corretamente e os carimbos de data e hora estão desativados.
Gostaria de definir o registro de data e hora do arquivo no disco. (não os dados EXIF).
Algoritmo proposto:
1 read file's modify date
2 add delta, i.e. hhmmss (preferred: change timezone)
3 write new timestamp
Existe uma maneira fácil de fazer isso? talvez alguém possa simplificar o cálculo usando o tempo da época (segundos desde) e criar um script de shell.
Respostas:
touch
posso fazer isso:http://linux.about.com/library/cmd/blcmdl_touch.htm
Para alterar o mtime, adicione
--time=mtime
fonte
-r file
opção, ela se torna relativa a esse arquivo. Portanto, se você tiver um tempo relativo ao mesmo arquivo que está manipulando, conseguirá o que deseja.Combinando o acima, se AM / PM estava errado ...
Corrija os carimbos de data / hora do arquivo:
Atualize as informações EXIF nos arquivos jpg para o carimbo de data e hora corrigido:
Não se esqueça de fixar a configuração de tempo na sua câmera.
fonte
itera sobre todos os arquivos no subdiretório all: use stat para obter o tempo da época / unix dos arquivos em segundos, toque na análise da soma como nova data para o mtime e grave no arquivo
para uma abordagem pythonian, consulte /programming/1158076/implement-touch-using-python
fonte
Estou fazendo a mesma coisa no OS X, e a sintaxe do toque varia um pouco aqui.
Estou usando:
touch -r "filename" -A '013007' "filename"
Isso ajustará + 1 hora e 30min 7seg em relação ao tempo original modificado.
'-013007'
por voltar o tempo.fonte
Linux, usando o touch para alterar o carimbo de data / hora da última modificação:
Crie um arquivo com registro de data e hora agora:
Altere o carimbo de data e hora para 2 horas atrás:
Altere o carimbo de data e hora para 200 horas atrás:
Altere o carimbo de data e hora para 30 dias atrás:
Para travessuras, defina a data da última modificação no futuro:
Aparentemente, vamos festejar como se fosse 3012 hoje à noite.
fonte
-
sinal de menos ( ) não diz ao toque para passar 400.000 dias no passado e, no entanto, acaba no futuro? Ou espere, você está dizendo para tocar duas vezes para negar a data, menos + atrás = futuro ...? Yar amigoUse jhead:
http://www.sentex.net/~mwandel/jhead/usage.html
fonte