Sto cercando di utilizzare il comando date per generare un timestamp di file che il comando date stesso può interpretare. Tuttavia, al comando date non sembra piacere il proprio output e non sono sicuro di come aggirare questo problema. Caso in questione:
sh-4.2$ date
Fri Jan 3 14:22:19 PST 2014
sh-4.2$ date +%Y%m%dT%H%M
20140103T1422
sh-4.2$ date -d "20140103T1422"
Thu Jan 2 23:22:00 PST 2014
la data sembra interpretare la stringa con un offset di 15 ore. Ci sono soluzioni alternative conosciute per questo?
Modifica: questo non è un problema di visualizzazione:
sh-4.2$ date +%s
1388791096
sh-4.2$ date +%Y%m%dT%H%M
20140103T1518
sh-4.2$ date -d 20140103T1518 +%s
1388737080
sh-4.2$ python
Python 3.3.3 (default, Nov 26 2013, 13:33:18)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1388737080 - 1388791096
-54016
>>> 54016/3600
15.004444444444445
>>>
È ancora spento per 15 ore quando viene visualizzato come timestamp unix.
EDIT # 1
Forse dovrei porre questa domanda in modo leggermente diverso. Supponiamo di avere un elenco di timestamp di base ISO8601 del modulo:
- YYYYMMDDThhmm
- YYYYMMDDThhmmss
Qual è il modo più semplice per convertirli nei corrispondenti timestamp Unix?
Per esempio:
- 20140103T1422 = 1388787720
- 20140103T142233 = 1388787753
20140103T1518
non è valido ISO 8601, manca la parte del fuso orario