如何获取bash中特定日期以来的天数

时间:2017-05-22 04:29:31

标签: shell date solaris

我需要找到自特定日期以来今天的天数(可以说是01011980)。想写一个将在solaris上运行的shell脚本。

例如:uname -a - > SunOS test-1 5.11 11.3 sun4v sparc sun4v

到目前为止,我已经能够将当前日期格式化为所需的格式。

但是找不到将给定日期转换为可用于从当前日期减去获取天数的格式的方法。

我尝试了日期+%s并传递了所需的日期,但每次都显示了时间。

AG1> date +%s
1495427876
AG1> (date +%s -ud '2003-08-02 17:24:33' )
1495427877
AG1>

我不想使用像perl这样的其他语言,因为这将执行不同的机器,而其他编程语言将成为障碍。

有人可以提供帮助。

1 个答案:

答案 0 :(得分:1)

使用算术评估:

      if( isset($_POST["json"]) ) { ... }

答案:5041。

编辑:由于问题是关于SunOS,此系统中的echo $(( ($(date +%s) - $(date +%s -ud '2003-08-02 17:24:33')) / 3600 / 24 )) 实用程序与GNU date不同,而密钥date不起作用。 SunOS中的GNU版本为-d