在shell脚本中将日期字符串转换为unix时间戳而不使用“date -d”

时间:2014-08-22 01:29:17

标签: unix ksh unix-timestamp

我一直在墙上抨击我的头一段时间。

我的(ksh)脚本中有一个日期字符串。这不是现在的时间,而是一段任意的时间。

如何将该日期字符串转换为Unix时间戳?我正在使用SunOS 5.10和AIX,它们没有date -d选项,也没有MacOS date -j -f选项。

我只需要在我的代码中的一个位置进行此转换,所以理想情况下我想在一行中执行此操作,但如果我必须创建一个函数,那么就这样吧

我已经弄乱了Python和Perl来实现这一目标。 Python是最接近的,但是我不能把它考虑到时区,我真的很喜欢。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我之前失去了我曾经尝试过的任何东西,但回过头来我找到了一个解决方案:

python -c 'import datetime, time;print time.mktime(datetime.datetime.strptime("08/22/2014/16", "%m/%d/%Y/%H").timetuple())'

此特定命令输出1408737600,即2014年8月22日下午4点在东海岸。