на главнуюВсе эхи RU.PERL
войти ?

Re: сравнение даты и времени

От Eugene Grosbein (2:5006/1) к Ruslan Suleimanov

В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)


05 авг. 2022, пятница, в 18:42 NOVT, Ruslan Suleimanov написал(а):

EG>> Стандартный подход в таких случаях - перевод сравниваемых дат
EG>> в формат целого числа под названием unixtime - количество
EG>> секунд, прошедших с полуночи 1 января 1970 года (отрицательное число,
EG>> если дата до этого момента). Затем значения просто сравниваются,
EG>> как целые числа.
EG>> Для перевода есть готовые модули типа Date::Parse с функцией
EG>> $unixtime = str2time($string);
EG>> В доке на этот модуль описаны автоматически распознаваемые форматы дат
EG>> и твой формат среди них есть (четвертый пример):
RS> очень толковый модуль, проверил работает! :) Еще бы можно было также
RS> переводить из unixtime в человекочитаемый..

Hу, разумеется, из unixtime ты можешь перевести дату абсолютно
в любой формат. Обратную к str2time() функцию даёт модуль Date::Format,
функция time2str() берет первым аргументом шаблон, а вторым unixtime
и возвращает текстовое представление даты, например:

$string = time2str("%C", $unixtime);

Оно умеет кучу разных других форматов, кроме %C,
они описаны в доке на модуль (раздел CONVERSION SPECIFICATION),
например:

time2str("Дата: %x, время: %T", $unixtime);

Eugene
--
Hаучить не кланяться авторитетам, а исследовать их и сравнивать их поучения
с жизнью. Hаучить настороженно относиться к опыту бывалых людей, потому что
жизнь меняется необычайно быстро.
--- slrn/1.0.3 (FreeBSD)
* Origin: RDTC JSC (2:5006/1@fidonet)

Ответы на это письмо:

From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку

From: Username
Или коротким

FGHI-url этого письма: area://RU.PERL?msgid=grosbein.net+b0632150