从Unix shell脚本获取epoch中的当前日期

时间:2009-07-07 19:25:14

标签: unix shell epoch

如何获取epoch中的当前日期值,即1970-1-1以来经过的天数。我需要unix shell脚本中的解决方案。

5 个答案:

答案 0 :(得分:135)

Unix Date命令将在纪元时间显示

命令是

date +"%s"

http://unixhelp.ed.ac.uk/CGI/man-cgi?date

编辑:有些人观察到你要求几天,所以这是该命令的结果除以86,400

答案 1 :(得分:42)

更新:之前发布的答案链接到不再可用的自定义脚本,仅仅因为OP表明date +'%s'对他不起作用。有关正确的解决方案,请参阅UberAlex' answercadrian's answer。简而言之:

  1. 自Unix纪元以来的数量使用date(1)如下:

    date +'%s'
    
  2. 对于 days 的数量,因为Unix纪元将结果除以一天中的秒数(请注意双括号!):

    echo $(($(date +%s) / 60 / 60 / 24))
    

答案 2 :(得分:11)

echo $(($(date +%s) / 60 / 60 / 24))

答案 3 :(得分:2)

echo `date +%s`/86400 | bc

答案 4 :(得分:-3)

根据您使用的语言,它将变得像

一样简单
CInt(CDate("1970-1-1") - CDate(Today()))

具有讽刺意味的是,如果你像许多计算机系统一样使用1/1/1900作为“零日”,昨天是40,000天。