Назад | Перейти на главную страницу

Дней с определенной даты

Как напечатать в linux / unix bash количество дней с определенной даты до настоящего времени? (например дни с 23 июня 2009 г. по сегодняшний день)!

Вы можете использовать что-то вроде этого:

date1=$(date --utc --date "2008-10-20" +%s)
date2=$(date --utc --date "2009-10-20" +%s)
diffdays=$(( (date2-date1)/(3600*24) ))

Это предполагает, что date2 более поздняя, ​​чем date1.

Адаптировано из http://www.unix.com/tips-tutorials/31944-simple-date-time-calulation-bash.html.

Я предпочитаю языки со специализированными библиотеками datetime для арифметики дат. Например:

ruby -r date -e 'd = Date.parse(ARGV.shift); p (Date.today - d).to_i' 2010-09-23