Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Perl и RSS: pubDate в unix-время

38K
16 мая 2008 года
EvAn
3 / / 16.05.2008
Нужно конвертировать время и дату, извлекаемые из тегов pubDate, в unix-время. Вопрос: существует ли готовое решение и, если да, то каково оно, или придется писать свой парсер?
2
16 мая 2008 года
squirL
5.6K / / 13.08.2003
perldoc Time::Local
38K
16 мая 2008 года
EvAn
3 / / 16.05.2008
Это то понятно. Но прежде чем воспользоваться timelocal нужно произвести разбор pubDate.
38K
16 мая 2008 года
EvAn
3 / / 16.05.2008
Вот мой "парсер":
 
Код:
my $pubDate = 'Fri, 16 May 2008 13:01:00 +0400';
$pubDate =~ /^\w\w\w\,\s(\d\d)\s(\w\w\w)\s(\d\d\d\d)\s(\d\d)\:(\d\d)\:(\d\d)\s\+\d\d\d\d$/;
my %months = ('Jan'=>0, 'Feb'=>1, 'Mar'=>2, 'Apr'=>3, 'May'=> 4, 'Jun'=>5, 'Jul'=>6, 'Aug'=>7, 'Sep'=>8, 'Oct'=>9, 'Nov'=>10, 'Dec'=>11);
print timelocal($6, $5, $4, $1, $months{$2}, $3);
300
16 мая 2008 года
ReDrum
689 / / 20.04.2000
Цитата: EvAn
Вот мой "парсер":
 
Код:
my $pubDate = 'Fri, 16 May 2008 13:01:00 +0400';
$pubDate =~ /^\w\w\w\,\s(\d\d)\s(\w\w\w)\s(\d\d\d\d)\s(\d\d)\:(\d\d)\:(\d\d)\s\+\d\d\d\d$/;
my %months = ('Jan'=>0, 'Feb'=>1, 'Mar'=>2, 'Apr'=>3, 'May'=> 4, 'Jun'=>5, 'Jul'=>6, 'Aug'=>7, 'Sep'=>8, 'Oct'=>9, 'Nov'=>10, 'Dec'=>11);
print timelocal($6, $5, $4, $1, $months{$2}, $3);



вот парсер дейва рольски
http://search.cpan.org/~rickm/DateTime-Format-Strptime-1.0702/lib/DateTime/Format/Strptime.pm

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог