使用Perl获取以毫秒为单位的Unix时间戳

时间:2018-06-27 14:01:07

标签: perl nginx unix-timestamp

我了解我们可以使用time()函数来获取自纪元以来经过的seconds。我如何获得milliseconds

我正在与一个基于JavaScript的系统进行互操作,我们在其中处理milliseconds

谢谢!顺便说一句,我将在nginx的上下文中评估此脚本。

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

您可以创建自己的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丢失。