如何计算PERL中2个时间戳之间的差异

时间:2017-10-04 09:57:28

标签: perl

用于计算2个给定时间戳之间差异的代码。 Start_Time="2017-09-19 19:36:12.763" End_Time="2017-09-19 19:36:22.72"我想要考虑毫秒来区分上述2个时间戳。

这是我试过的:

#!/usr/bin/perl

use strict; 
use warnings;
use Date::Parse;
use Date::Format;

$startdat = "2007-11-17 12:51:22";
$stopdate = "2007-11-17 12:52:22";

my ($years, $months, $days, $hours, $mins, $secs) = split /\W+/, $startdat;
my ($yeart, $montht, $dayt, $hourt, $mint, $sect) = split /\W+/, $stopdate;

my $times = timelocal($secs,$mins,$hours,$days,$months,$years);
my $timet = timelocal($sect,$mint,$hourt,$dayt,$montht,$yeart);

$time = $timet - $times;

print $time;

但是这给了我一个错误:无法在@INC中找到Date / Parse.pm。

1 个答案:

答案 0 :(得分:4)

您收到该错误消息,因为未安装Date :: Parse。此模块不是标准Perl发行版的一部分,需要单独安装。如果你想使用它,那么你需要安装它。

然而

虽然代码中有use Date :: Parse和Date :: Format,但实际上并没有使用它们。所以你可以删除这两行。那么你的代码可能会有效。

Date :: Parse和Date :: Format实际上是非常过时的模块。对于Perl中的日期和时间工作,我建议Time::Piec e(这是Perl库的标准部分)或DateTime(需要安装)。