是否可以使用Time::Local
或标准Perl发行版中包含的其他程序包在Perl中转换timi milis,即不必使用像{{{}这样的包管理器单独添加1}?问题是,我在一个超级受限的网络环境中工作,我写的脚本不保证通过繁文缛节来获取像ppm
或DateTime
这样的外部内容。
例如,我有像Time::HiRes
这样的milis,我想将其格式化为1354996539
由于
答案 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]);