用perl显示以ms为单位的时间

Sau*_*ava 3 perl

我希望显示时间直到毫秒.我的代码给出了错误.任何其他方法也欢迎.

use Time::HiRes qw/gettimeofday/;
use Time::Format qw/%time/;

$s1=gettimeofday;
print qq|$time{'yyyymmdd hh:mm:ss.mmm', $s1}\n|;
Run Code Online (Sandbox Code Playgroud)

错误:

syntax error at (eval 2) line 31, near "->import qw(langinfo)"
        ...propagated at C:/Perl64/lib/Time/Format.pm line 77, <DATA> chunk 1.
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 5

更新你的时间::格式.您使用的版本是错误的.这个问题在七年前得到了解决.(在1.07,2008年3月31日).

或使用以下内容:

use POSIX       qw( strftime );
use Time::HiRes qw( gettimeofday );

my ($secs, $microsecs) = gettimeofday();
strftime("%Y%m%d %H:%M:%S", localtime($secs)) . sprintf(".%03d", $microsecs/1000)
Run Code Online (Sandbox Code Playgroud)

  • 重新"你的代码什么都不打印",对.你可以通过缺少'print`来判断.您正在访问的回购似乎只有您已有的旧版本.(奇怪,因为它甚至不会在您的Perl版本上编译.)您可以使用`cpan Time :: Format`. (2认同)