我正在尝试使用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
date似乎在解释字符串,偏移量为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,它错过了时区部分