Perl:如何将unix时间戳+时区转换为本地时间



基本问题在标题中:我有一个unix时间戳和一个时区,例如:"America/Caracas",我想将其转换为时区的当地时间。

通过stackoverflow搜索,我发现有人问了几乎相同的问题,然而,提供的答案代码

$t = new DateTime();
$t->setTimestamp( $time=time() );
$t->setTimeZone(new DateTimeZone("America/Denver"));
print $t->format(DateTime::RFC850);

不工作(不再?)。DateTime()不允许我设置时间戳;我确实通过DateTime源查看,但也没有看到,我可以在哪里连接我自己的时间戳。任何想法/有帮助吗?

提前感谢!

use DateTime;
my $dt = DateTime->from_epoch(
    epoch     => time(), 
    time_zone => "America/Denver"
);
print "$dtn";

详细信息请参见DateTime文档

尝试:

my $epoch = time;
warn $epoch;
my $dt = DateTime->from_epoch( epoch => $epoch );
warn $dt->year;
#and so on

相关内容

  • 没有找到相关文章

最新更新