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

관련 정보