2012-02-10 2 views
1

Я использую следующий код для изменения времени от IST до EST ... Но Perl говорит «недопустимое смещение: IST» и «EST» не может быть загружен, или является недопустимым именем. ?.ошибка при преобразовании даты IST в дату EST в perl

Может ли один пожалуйста, помогите»

use DateTime; 
use DateTime::Format::Strptime; 
my $val = "20090103 12:00"; 
my $format = new DateTime::Format::Strptime(     
        pattern => '%Y%m%d %H:%M',   
              time_zone => 'IST',    ); 
my $date = $format->parse_datetime($val); 
print $date->strftime("%Y%m%d %H:%M %Z")."\n"; 
$date->set_time_zone('EST'); 
print $date->strftime("%Y%m%d %H:%M %Z")."\n"; 
+0

Использование косвенного обозначения ('новый DateTime :: Format :: Strptime (..)') является плохой привычкой. Вместо этого используйте 'DateTime :: Format :: Strptime-> new (...)'. –

ответ

0

Вместо IST, используйте имя Olsen из Азии/Калькутта

5

Согласно this site, IST используется для нескольких стран:

IST Israel Standard Time Asia UTC + 2 hours 
IST India Standard Time Asia UTC + 5:30 hours 
IST Irish Standard Time Europe UTC + 1 hour 

Таким образом, вместо использования IST использовать, например, Europe/Dublin

Смежные вопросы