Как напечатать в 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