在不安装额外软件包的情况下获得以毫秒为单位的时间?

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 之间的差异?

以毫秒为单位的日期时间选择器

c++代码执行定时器返回0,需要以毫秒为单位输出

是否可以在Swi-Prolog中获得以毫秒为单位的经过时间?

Lua - 当前时间(以毫秒为单位)

Razor 视图中的 Epoch/Unix 时间戳(以毫秒为单位)到日期时间