0

是否可以转换 timi milis 自 Perl 使用Time::Local或标准 Perl 发行版中包含的另一个包以来的时代,即不必使用包管理器单独添加,例如ppm?问题是,我在一个超级受限的网络环境中工作,而我正在编写的脚本不保证通过繁文缛节来获得外部的东西,比如DateTimeor Time::HiRes

例如,我有 milis 1354996539,我想将其格式化为2012-12-11 13:45:34

谢谢

4

1 回答 1

4

Time::Localtimelocal与您想要的相反(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]);
于 2012-12-11T19:35:36.207 回答