如何将时间戳从十六进制格式转换为EPOCH时间戳?

时间:2015-11-19 16:17:19

标签: linux unix time unix-timestamp epoch

我正在寻找一个Linux命令来将十六进制时间格式转换为Linux时间戳。我试过这个命令:

<?php query_posts(array('post_type' => 'your-cpt-name') ); ?>

但似乎错了,0xd6979880的纪元输出应该是1391270400。 如果我错了,请纠正我。

1 个答案:

答案 0 :(得分:2)

根据您的说明(期待1391270400而非3600259200),您的十六进制日期显示为自1900-01-01以来的秒数,而不是POSIX时间戳(自1970-01-01以来的秒数)。幸运的是,只需减去70年就可以很容易地纠正这种偏移:

$ date '+%F %T ( %s )' --date="$(date -d @$(printf "%d" 0xd6979880)) - 70 years"
2014-02-01 16:00:00 ( 1391270400 )