perl减去时间并以秒为单位显示

hom*_*mer 0 perl

我已经浏览了SO最后30分钟,但无法得到答案,所以决定发布问题.

我不能像某些答案中所建议的那样使用Time::PieceDate::Parse模块.

我试图减去两次并在几秒钟内得到结果

use warnings;    
use strict;

$tod = `date "+%H:%M:%S"`; chomp $tod;  #record time of the day to variable
                                        #Sample time 16:55:44
my startTime = $tod;

 Insert records;

my endTime = $tod;

my totalTime = $startTime - $endTime;
Run Code Online (Sandbox Code Playgroud)

错误:Arguemnt"16:55:14"在减法中不是数字( - )

谢谢,

Thi*_*Not 6

你可以使用这个time功能:

my $start = time;
sleep 3;
my $end = time;

print $end - $start, ' seconds elapsed';
Run Code Online (Sandbox Code Playgroud)

一般来说,最好避免使用反引号执行外部命令,或者system使用纯Perl执行相同的操作.

如果你想要超过一秒的分辨率,你可以Time::HiRes按照有没有更好的方法来确定Perl中的已用时间?