使用日期程序计算两个日期之间的差异(以秒为单位)?

使用日期程序计算两个日期之间的差异(以秒为单位)?

我如何计算两个日期之间的差异,例如“1970年1月1日,00:00:00 UTC”和“2019年11月23日,00:00:00 PST”使用日期程序?

答案1

]# date --date='November 23 2019 00:00:00 PST' +%s
1574496000

一吉秒半。我通过计算粗略地查了一下。

]# echo $((2019 - 1574496000/(60*60*24*365)))
1970

例如,“1970 年 1 月 1 日,...

也许这会让一些人投反对票,因为 1.1.1970 是“零”日期,而不是一个例子。就像问:如何计算自“0”年以来的年数。

答案2

简单的扩展来回答一般问题。使用 +%s 运行两个日期(针对 1970-01-01 纪元),然后减去秒数。除以 86400 即可得到天数。

您可能需要考虑时区和夏令时。一整天,我通常将时间强制设置为 12:00:00,这样可以避免大部分问题。

相关内容