Число дисплея часов с определенного времени в ударе

У меня есть команда, которая производит единственную дату в любом формате, которому я нравлюсь. Теперь мне нужен простой способ вычислить (с ударом), сколько часы передали с тех пор (значение по умолчанию yyyy-mm-dd hh:mm).

Единственным путем я могу думать о выполнении, это при помощи нескольких ifs, но я надеялся, что мог бы быть быстрый короткий метод. Возможно, использование date команда?

Просто пример для ясности:
Прямо сейчас это 2011-05-23 12:16.
Первые выводы команды 2011-05-22 08:34.
Мне нужны команда (или несколько переданных по каналу команд) тот вывод 27, как в: "27 (округленных в меньшую сторону) часов передали начиная с указанной даты".

Существует ли quick'n простой способ достигнуть этого? Или я обязан использовать условные выражения (не, что это было бы чрезмерно сложно).

2
задан 23 May 2011 в 18:24

1 ответ

Вообще говоря, в течение многих времен в 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
2
ответ дан 2 December 2019 в 04:30

Другие вопросы по тегам:

Похожие вопросы: