基本问题在标题中:我有一个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