如何获取纪元中的当前日期值,即自 1970-1-1 以来经过的天数。我需要 unix shell 脚本中的解决方案。
Krishna
问问题
130995 次
5 回答
152
Unix Date 命令将以纪元时间显示
命令是
date +"%s"
https://linux.die.net/man/1/date
编辑:有些人观察到你问了几天,所以这是该命令除以 86,400 的结果
于 2009-07-07T19:36:12.207 回答
55
更新:之前发布的答案链接到不再可用的自定义脚本,仅仅是因为 OP 表示这date +'%s'
对他不起作用。请参阅UberAlex 的答案和cadrian 的答案以获得正确的解决方案。简而言之:
对于自 Unix 纪元以来的秒数
date(1)
,使用如下:date +'%s'
对于自 Unix 纪元以来的天数,将结果除以一天中的秒数(注意双括号!):
echo $(($(date +%s) / 60 / 60 / 24))
于 2009-07-07T19:35:48.337 回答
11
echo $(($(date +%s) / 60 / 60 / 24))
于 2009-07-07T19:30:32.530 回答
2
echo `date +%s`/86400 | bc
于 2009-07-07T19:36:46.993 回答
-3
根据您使用的语言,它会很简单,例如
CInt(CDate("1970-1-1") - CDate(Today()))
具有讽刺意味的是,如果您像许多计算机系统一样使用 1/1/1900 作为“第 0 天”,那么昨天是第 40,000 天。
于 2009-07-07T19:27:46.137 回答