Forum Webscript.Ru
Программирование => Perl => Тема начата: D.O. от 23 Февраля 2005, 20:23:55
-
Как удобнее узнать, что одна дата раньше/позже другой?
Есть какой-нибудь модуль из стандартной поставки Perl или сторонний?
-
Зависит от того, в каком формате дата.
-
Удобно работать с датами в стандартном unix\'овском формате, т.е. в секундах от 1 Jan 1970 ...
Для наиболее часто используемых преобразований:
perldoc -f gmtime
perldoc -f localtime
perldoc -f time
perldoc Time::Local
и для форматированного вывода:
perldoc POSIX в частности setlocale() и strftime()
-
В любом! Сконвертировать - не проблема.
Какие модули есть для сравнения дат?
Чтобы можно было пользоваться операциями типа
if($date1->is_before($date2)) { ... }
-
Насчёт любого формата я погорячился.
Формат - как в логах Postfix:
Apr 26 12:22:03
-
года там нет?
-
Года нет. Нет смысла, - каждый день (или другой период) "logfile turned over".
-
perldoc -q date
How can I compare two dates and find the difference?
-
D.O.:
Формат - как в логах Postfix: Apr 26 12:22:03
Проще всего перевести (используя Time::Local) в timestamp и просто сравнить.
-
2NetFly:
Проще всего перевести (используя Time::Local) в timestamp и просто сравнить.
В доке не совсем понятно описано.
У тебя случайно нет примера?
-
D.O.
в доке есть шикарный пример:
$time = timelocal($sec,$min,$hour,$mday,$mon,$year);