在不安装额外软件包的情况下获得以毫秒为单位的时间?
Posted
技术标签:
【中文标题】在不安装额外软件包的情况下获得以毫秒为单位的时间?【英文标题】:Get time in milliseconds without an installing an extra package? 【发布时间】:2011-12-21 07:41:25 【问题描述】:如何在不安装任何额外软件包的情况下在 Perl 中获取以毫秒为单位的时间?
我正在运行 Linux。
【问题讨论】:
date +%N
给你纳秒......你可以从那里工作吗? %s 给出了 1970 年的秒数...
有什么理由不能使用Time::HiRes
?
为什么不能安装模块?无论如何,根据您的 Perl 版本,您可能有 Time::HiRes (perldoc.perl.org/Time/HiRes.html) 可用。
date +%N
适用于 Linux 但不适用于 AIX...(悲伤的一天)
【参考方案1】:
Time::HiRes
自 Perl 5.7.3 以来一直是核心的一部分。要检查它的可用性,请检查 Perl 版本 perl -v
,或尝试将其与 perl -e 'use Time::HiRes;'
一起使用,两者都可以从命令行中使用。
示例用法:
use Time::HiRes qw/ time sleep /;
my $start = time;
sleep rand(10)/3;
my $end = time;
print 'Slept for ', ( $end - $start ) , "\n";
要基于 Konerak 的评论,如果它不存在或无法使用,请通过反引号使用本机 Linux 命令:
sub time_since_epoch return `date +%s.%N`
print time_since_epoch;
【讨论】:
要从命令行加载和/或验证模块,您可以使用:perl -MTime::HiRes -e 1 代替:perl -e 'use Time::HiRes' @mob :感谢您的更正。 @James_R_Ferguson :我故意省略了-M
标志,因为我不想将提问者与语法混淆(尽管使用 1
而不是 ''
是一个漂亮的小提示 :)。
@Zaid 谢谢!调用时间返回的值是毫秒吗?
@JJLiu : 这是自 1970 年 1 月 1 日(又名时代)以来的秒数以上是关于在不安装额外软件包的情况下获得以毫秒为单位的时间?的主要内容,如果未能解决你的问题,请参考以下文章
如何以毫秒为单位获得两个 QDateTimes 之间的差异?