我想在几分钟内获得时间差异。两个要比较的时间都在同一时区,所以不用担心时区差异等等。
假设Start_time = 2016年4月14日05:02:26 对于结束时间,我需要脚本来获取当前时间,
我想计算结束时间 - 开始时间。 为了获得当前时间,我尝试了本地时间(时间),但我需要当前时间采用开始时间的格式,或者如果不可能,那么我们可以将开始时间转换为我们获取当前时间的格式,以便我们可以获得差别很容易。
以下是我的尝试:
#get last line of log
open my $fh ,"<","$slogfile";
my $last_line;
$last_line = $_,while (<$fh>);
print OUTLOG "last line of log: $last_line \n";
if ($last_line=~ m/^(\d\d) (\w{3}) (\d{4}) (\d\d):(\d\d):(\d\d) --/)
{
$var = "$1 $2 $3 $4:$5:$6";
print OUTLOG "$var\n";
}
else {
print OUTLOG "pattern matching didnt work\n";
}
#get current time
my $t = localtime;
#$t->datetime;
my $current_time = $t ;
print OUTLOG "Time is $current_time \n";
my $cformat = '%a %b %d %H:%M:%S %Y';
my $diff = Time::Piece->strptime($current_time, $cformat)
- Time::Piece->strptime($var, $cformat);
print OUTLOG "difference is $diff \n";
但我得到“在C:/Perl/lib/Time/Piece.pm第469行,第1071752行解析时间错误。”错误。请建议。