0

基本问题在标题中:我有一个 unix 时间戳和一个时区,例如“美国/加拉加斯”,我想将其转换为时区的本地时间。

通过stackoverflow搜索,我发现其他人问了几乎相同的问题,但是,提供的答案代码

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

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

提前谢谢了!

4

2 回答 2

4
use DateTime;

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

有关详细信息,请参阅DateTime文档。

于 2011-07-15T14:24:52.400 回答
-1

尝试:

my $epoch = time;
warn $epoch;
my $dt = DateTime->from_epoch( epoch => $epoch );
warn $dt->year;
#and so on
于 2011-07-15T14:17:29.703 回答