我如何计算两个日期之间的差异,例如“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,这样可以避免大部分问题。