my $TODAY = do { my @t = ( localtime() )[ 3 .. 5 ]; $t[1]++; $t[2] += 1900; join '.', @t };
Update: Красивость из комментов от
my $TODAY = join '.', map {$_->[3], $_->[4]+1, $_->[5]+1900} [localtime];
| | what_me ( |
my $TODAY = do { my @t = ( localtime() )[ 3 .. 5 ]; $t[1]++; $t[2] += 1900; join '.', @t };
my $TODAY = join '.', map {$_->[3], $_->[4]+1, $_->[5]+1900} [localtime];
November 13 2009, 08:33:29 UTC 2 years ago
Вот моя функция:
sub time2iso(;$) { return sprintf "%4d-%02d-%02d %02d:%02d:%02d", $_->[5]+1900, $_->[4]+1, reverse @$_[0..3] for [localtime(shift||time)]; }November 13 2009, 08:39:16 UTC 2 years ago
November 13 2009, 08:53:26 UTC 2 years ago
November 13 2009, 11:27:27 UTC 2 years ago
По-моему, симпатичней :)
November 13 2009, 11:33:32 UTC 2 years ago
November 13 2009, 14:25:20 UTC 2 years ago
December 23 2009, 14:08:23 UTC 2 years ago
November 13 2009, 08:51:35 UTC 2 years ago
Смысл в том, что внутри
do{}форматируешь дату для конкретного случая с временными лексическими переменными.November 13 2009, 11:25:00 UTC 2 years ago
November 13 2009, 10:38:40 UTC 2 years ago
November 13 2009, 11:23:31 UTC 2 years ago
:)
November 13 2009, 12:30:19 UTC 2 years ago
November 17 2009, 06:19:03 UTC 2 years ago
November 13 2009, 14:45:23 UTC 2 years ago
November 13 2009, 19:08:01 UTC 2 years ago
November 14 2009, 00:38:25 UTC 2 years ago
Выбор между
а) маленьким, быстрым и потенциально не портабельным и
б) удобным, расширяемым, но ресурсоемким
он всегда есть, это понятно.
November 13 2009, 18:39:06 UTC 2 years ago
Всегда стараюсь использовать отличный модуль Date::Calc:
November 13 2009, 19:09:22 UTC 2 years ago
November 17 2009, 10:51:38 UTC 2 years ago
December 23 2009, 12:59:36 UTC 2 years ago
December 23 2009, 15:28:29 UTC 2 years ago
December 24 2009, 07:34:22 UTC 2 years ago