У меня есть команда, которая производит единственную дату в любом формате, которому я нравлюсь. Теперь мне нужен простой способ вычислить (с ударом), сколько часы передали с тех пор (значение по умолчанию yyyy-mm-dd hh:mm
).
Единственным путем я могу думать о выполнении, это при помощи нескольких if
s, но я надеялся, что мог бы быть быстрый короткий метод. Возможно, использование date
команда?
Просто пример для ясности:
Прямо сейчас это 2011-05-23 12:16
.
Первые выводы команды 2011-05-22 08:34
.
Мне нужны команда (или несколько переданных по каналу команд) тот вывод 27
, как в: "27 (округленных в меньшую сторону) часов передали начиная с указанной даты".
Существует ли quick'n простой способ достигнуть этого? Или я обязан использовать условные выражения (не, что это было бы чрезмерно сложно).
Вообще говоря, в течение многих времен в Unix является самым простым преобразовать обоих datetimes в Метки времени Unix (которые являются секундами с тех пор 01.01.1970 0:00), вычтите один из другой и, в Вашем случае, разделитесь на 3 600 для получения часов.
SECONDS=`expr $(date -d "20110523" +%s) - $(date -d "20110522" +%s)`
expr $SECONDS / 3600
#Return is 24