使用Perl获取Unix时间戳(毫秒级)。

3

我知道我们可以使用time()函数获取自历元以来的秒数,但如何获取毫秒呢?

我正在与一个基于JavaScript的系统进行交互,其中涉及毫秒

谢谢!顺便说一下,我将在nginx环境中评估此脚本。

2个回答

10
你可以制作自己的time函数来返回类似这样的浮点数:
use Time::HiRes;
sub time_fp { sprintf"%d.%06d",Time::HiRes::gettimeofday }

或者像这样覆盖核心 time

use Time::HiRes qw(time);
print time(), "\n";             # 1530190722.02601 for example

然而,后者的问题在于标准浮点数中的10位数字之后没有足够的空间容纳6个小数位(如果你想使用微秒而不是毫秒),具体情况可能取决于Perl版本和编译设置。运行perl -le 'print 1530190907.849523'可见其含义。最后一位小数3将丢失。


3
不失礼貌的要点。 - Lee Goddard

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接