shell-script:用日期解析秒数

时间:2011-06-08 15:10:55

标签: shell

我希望日期+%m/%d/%Y的日期不同。

$(( $(date +%s)- 259200))给了我3天前的秒数。 -d参数不接受以我想要的格式解析它的秒数05/06/2011(错误消息:date: invalid date '1307284916')。

有没有办法让date工作?

2 个答案:

答案 0 :(得分:3)

要在linux上获取日期以接受-d的简单时间戳,请在数字前加上@符号!

~% date +%s
1307548153
~% date -d @1307548153
Wed Jun  8 16:49:13 IST 2011

答案 1 :(得分:0)

在MacOS X上,您可以使用date -r 1307284916 +%m/%d/%Y来获得所需的结果。如果您不是像MacOS X这样的BSD派生系统(例如,如果您使用的是Linux),那么似乎没有date -r的简单模拟。传统版本的Unix通常甚至不提供GNU date的设施。

如果您遇到问题,请与我联系(查看我的个人资料),了解该计划timestamp

$ timestamp -T '%m/%d/%Y' 1307284916
1307284916 = 06/05/2011
$ timestamp -n -T '%m/%d/%Y' 1307284916
06/05/2011
$ timestamp -T '%m/%d/%Y' 1307284916  $(( $(date +%s)- 259200))   
1307284916 = 06/05/2011
1307288704 = 06/05/2011
$