Как получить время эпохи в скрипте оболочки (для ksh)? Я заинтересован в получении времени эпохи для начала дня (например, сейчас 28 июля 2011 г. ~ 14:25:00 EST, мне нужно время в полночь).
Если у вас дата GNU,
epoch=$( date -d 00:00 +%s )
В противном случае, если у вас есть tclsh,
epoch=$( echo 'puts [clock scan 00:00]' | tclsh )
В противном случае,
epoch=$( perl -MTime::Local -le 'print timelocal(0,0,0,(localtime)[3..8])' )
ksh's printf '%(fmt)T' поддерживает расчет времени.Например:
printf '%(fmt)T'
$ printf '%T\n' now Mon Mar 18 15:11:46 CST 2013 $ printf '%T\n' '2 days ago' Sat Mar 16 15:11:55 CST 2013 $ printf '%T\n' 'midnight today' Mon Mar 18 00:00:00 CST 2013 $