计算自 X 以来的天数的聪明方法是什么?

计算自 X 以来的天数的聪明方法是什么?

我从2014年11月17日开始在现在的岗位上工作,我想知道到现在已经多少天了。关于如何使用 Linux 提出一个简单而好的解决方案有什么想法吗?

答案1

echo $(( (`date +%s` - `date +%s -d '2014/11/17'`) / 86400 )) days ago

答案2

好吧,从表面上看:

$ date --date="-239 days"
Mon Nov 17 15:25:40 CET 2014

在脚本中(不是很有效,但是......也许它可以处理闰秒?;))

i=0
result=""
while [ "$result" != "20141117" ]
do
    i=$((i+1))
    result=$(date --date="-$i days" +%Y%m%d)
done
echo "$i" days have passed since "$result"

答案3

我在命令行上尝试了python。

$ python -c "import datetime; print datetime.date.today() - datetime.date(2014,11,17)"
246 days, 0:00:00 

答案4

这是 PHP 的示例:

<?php
$o1 = date_create('2014-11-17');
$o2 = date_create();
$o3 = date_diff($o2, $o1);
echo 'days: ', $o3->days, "\n";

结果:

days: 1927

https://php.net/function.date-diff

相关内容