使用perl脚本获取时差

时间:2016-04-14 11:20:35

标签: perl

我想在几分钟内获得时间差异。两个要比较的时间都在同一时区,所以不用担心时区差异等等。

假设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行解析时间错误。”错误。请建议。

0 个答案:

没有答案