首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl 时间差计算解决方案

2013-03-04 
perl 时间差计算如何用perl计算时间差:$a Mon Feb 25 16:05:03 2013如何计算$a与当前的时间差,结果是

perl 时间差计算
如何用perl计算时间差:
$a = "Mon Feb 25 16:05:03 2013";
如何计算$a  与当前的时间差,结果是 秒 小时  天都可以
[解决办法]

use HTTP::Date;
my $str1 = "Mon Feb 25 16:05:03 2013";
my $sometime = HTTP::Date::str2time( $str1, '+0800' );#北京时间,'+0800'
print "$sometime" . "\n";

my $now = time();
print "$now" . "\n";

my $delta = $now - $sometime;
print "second: $delta" . "\n";
$delta /= 3600;
print "hour: $delta" . "\n";
$delta /= 24;
print "day: $delta" . "\n";

[解决办法]
也可以用模块:
use Time::Piece;

my $a = "Mon Feb 25 16:05:03 2013";
my $t1 = Time::Piece->strptime($a, "%a %b %d %H:%M:%S %Y");
my $t2 = localtime;
my $s = $t2 - $t1;
print join "\n", $s->seconds, $s->minutes, $s->hours, $s->days;

热点排行