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

関連情報