dateコマンドを使用して、dateコマンド自体が解釈できるファイルのタイムスタンプを生成しようとしています。ただし、dateコマンドは独自の出力を好まないようで、これを回避する方法はわかりません。適例:
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
日付は、15時間のオフセットで文字列を解釈しているようです。これに関する既知の回避策はありますか?
編集:これは表示の問題ではありません:
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
>>>
UNIXタイムスタンプとして表示される場合、まだ15時間ずれています。
編集#1
たぶん、私はこの質問を少し違ったやり方で提起すべきです。フォームのISO8601基本タイムスタンプのリストがあるとします:
- YYYYMMDDThhmm
- YYYYMMDDThhmmss
それらを対応するUnixタイムスタンプに変換する最も簡単な方法は何ですか?
例えば:
- 20140103T1422 = 1388787720
- 20140103T142233 = 1388787753
20140103T1518
有効なISO 8601ではありません、それはタイムゾーンの部分を見逃し