使用Time :: Local将时间millis转换为日期格式

时间:2012-12-11 19:25:31

标签: perl

是否可以使用Time::Local或标准Perl发行版中包含的其他程序包在Perl中转换timi milis,即不必使用像{{{}这样的包管理器单独添加1}?问题是,我在一个超级受限的网络环境中工作,我写的脚本不保证通过繁文缛节来获取像ppmDateTime这样的外部内容。

例如,我有像Time::HiRes这样的milis,我想将其格式化为1354996539

由于

1 个答案:

答案 0 :(得分:4)

时间::本地的timelocal与您想要的相反(1354996539是输出,而不是输入)。它之后命名为localtime的函数实际上就是你想要的函数。

use POSIX qw( strftime );
say strftime('%Y-%m-%d %H:%M:%S', localtime(1354996539));

输出(美国/多伦多的人):

2012-12-08 14:55:39

您也可以在没有strftime的情况下执行此操作:

my @ts = localtime(1354996539);
$ts[4] += 1;
$ts[5] += 1900;
say sprintf('%d-%02d-%02d %02d:%02d:%02d', @ts[5,4,3,2,1,0]);