【问题标题】: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...(悲伤的一天)

标签: linux perl time package milliseconds


【解决方案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 日(又名时代)以来的秒数
猜你喜欢
  • 2014-08-23
  • 2019-08-29
  • 1970-01-01
  • 2015-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多