看到网上有很多人在问,perl中计算时间差问题,很多人只介绍一种方法,我把我想到的方法都列一下,希望对大家有帮助。
一、time函数
time函数是返回距1970年1月1日0点到现在的秒数:
code:
#!/usr/bin/perl
use 5.12.0;
use warningsuse strict;
my $now1 = time;
say "$now1"for($i=0;<60000000++){
}
$now2 "$now2"$diff = - $now1"$diff";
[root@xxx ~]# perl test.pl
1308031555
1308031559
4
二、Time::Local模块
timelocal和time功能有点类似
use Time
::Local=timelocal
(localtime
()$now2;
?
$diff=-
[root@xxx ~]# perl test.pl
1308034537
1308034541
4
三、Time::Piece和Time::Seconds
这两个module和第二种差不多,但取数据可以多样化,按秒取,按小时取等等
;
PieceSeconds=localtime"seconds diff:",->seconds"minutes diff:"minutes
[root@xxx ~]# perl test.pl
Tue Jun 14 15:22:46 2011
Tue Jun 14 15:22:50 2011
seconds diff:4
minutes diff:0.0666666666666667
四、Time::HiRes
这个module厉害,能统计到百万分之一秒
HiRes qw
(gettimeofday tv_interval
[gettimeofday
]= tv_interval
[root@xxx ~]# perl test.pl
ARRAY(0x8b3d488) --内存中地址
ARRAY(0x8b3d4b8)
4.525164
转载于:http://www.dbunix.com/?p=2596