如何在Perl中获取UTC等效的Today_and_Now()和Today()?

时间:2010-04-23 11:53:24

标签: perl datetime

如何获得UTC等效的Today_and_Now()和Today()调用结果? 我可以将它们转换回当地时间吗?

3 个答案:

答案 0 :(得分:6)

如果您正在使用Today_and_Now(),我假设您正在使用Date::Calc。因此,如果您阅读文档,您会发现可以将参数传递给指示gmtime()应该用作输入而不是localtime()的两个参数。只需将任何真正的值传递给这些函数。

   my ($year,$month,$day) = Today(1);
   my ($year,$month, $day, $hours, $mins, $secs) = Today_and_Now(1);

答案 1 :(得分:2)

每次使用它时,我都变成了DateTime的粉丝。

my $local_tz = DateTime::TimeZone->new( name=> 'local' );
my $now = DateTime->now( time_zone => $local_tz );

$now->set_time_zone('UTC');
say $now->hour();  ### UTC

$now->set_time_zone($local_tz);
say $now->hour();  ### Back to local time

答案 2 :(得分:1)

查看“Programmatic Time Usage With Perl”。这将向您解释在Perl中使用时间函数的技巧的简要概述。

除此之外,您还可以查看一些perl模块,例如Time::UTC::NowDateTime::TimeZone