У меня есть временная переменная в формате YYYYMMDDHHMMSS. используя эту переменную, мне нужно продолжать проверять в цикле, прошло ли время больше, чем 1 час.Разница между двумя временными метками в часах в оболочке korn
переменная на самом деле в таком формате 123-20150925084520
, где мне нужно извлечь вторую часть как метку времени, а затем сравнить с текущей меткой времени, чтобы увидеть количество часов. что-то вроде datediff($date1,$date2,"h")
Вот что я пробовал. Записан в замазку и под имя пользователя @ хост: [Ahome/имя пользователя] $ пытались ниже от этого SOPOst
$ echo $((($(date -ud '2003-08-02 17:24:33' +'%h') - $(date -ud '2003-04-21 22:55:02' +'%h'))/60/60/24)) days
который дает date : illegal option --d
я не вижу вариант, но -D, я удалил -uD и попробовал. дает date: bad conversion
Другие варианты реализуют сложные логики, поступающие через 10 секунд строк кода. для новичков-новичков, подобных мне, потребуется несколько дней, чтобы понять логику. Любая быстрая помощь была бы оценена.
Что вы пробовали? ТАК. не является бесплатной услугой кодирования. Ожидается, что вы продемонстрируете свою работу, желательно в качестве тестового примера, который люди могут вырезать/вставить в свои терминалы (в случае ksh). Вы также должны включить ожидаемые из входов. Есть множество функций, размещенных здесь на S.O. в ksh, которые выполняют вычисления даты. Вы пытались их искать? Извините, но удачи. – shellter
http://unix.stackexchange.com/questions/24626/quickly-calculate-date-differences – SriniV
тоже пробовал эту ссылку. но получить некоторую ошибку. Закончилось использование времени unix, чтобы получить секунды и вычесть его (один из ответов в том же сообщении), чтобы получить часы. благодаря – xGen