如何在Perl中获取Epoch毫秒时间戳?

13

在perl中获取Epoch-Seconds(时间戳)很容易:

time

但毫秒怎么办?最有效的方法似乎是time*1000,但这不够准确。除了@perldoc中记录的长期方案之外,还有什么好的提示吗?

3个回答

14

Time::HiRes模块有一个可以替换time函数的工具

$ perl -E 'say time'
1298827929
$ perl -MTime::HiRes=time -E 'say time'
1298827932.67446

您可以在Perl常见问题解答中阅读更多信息。

perldoc -q "How can I measure time under a second"

е—Ҝ...жҲ‘д»Қ然еҸҜд»ҘдҪҝз”ЁTime::HiResиҺ·еҸ–ж•ҙж•°ж—¶й—ҙгҖӮдҪҶжҳҜпјҢиҜҘжЁЎеқ—дёӯзҡ„clock_gettime()еҸҜд»Ҙи§ЈеҶій—®йўҳгҖӮиҝҷжҳҜPerl 5.10.0гҖӮ - Dallaylaen
@Dallaylaen:你从Time::HiRes导出时间了吗? - ysth
谢谢,这是我的错误。当然 use Time::HiRes qw/time/ 是可以正常工作的。 - Dallaylaen

5
一个现实世界的例子是:
use Time::HiRes qw(gettimeofday);
print gettimeofday;

0
perl -MTime::HiRes=time -e 'print time;'

对于 Perl: v5.8.4 构建于 SunOS (sun4-solaris-64int),oylenshpeegul's answer 需要进行修改。


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