我搜索了所有可能的问题,但找不到答案,
那么Perl专家能帮我解决这个问题吗?
那么Perl专家能帮我解决这个问题吗?
我有两个时间戳,如05/25/2011 05:22:03 PM和05/25/2011 05:34:08 PM.它们以字符串形式存储.
my $str1 = '05/25/2011 05:22:03'; my $str2 = '05/25/2011 05:34:08';
后者是工作结束的时间,前者是工作开始的时间.
我如何找出日期和时间的差异?在这种情况下日期是相同的,但它们也可能不同.
解决方法
我建议您使用
Time::Piece
模块.自从Perl 5的9.5版本发布以来,它一直是核心模块,因此它不需要安装.
此代码演示
use strict; use warnings; use Time::Piece; my $str1 = 'Execution started at 05/25/2011 05:22:03 PM'; my $str2 = 'Execution completed at 05/25/2011 05:34:08 PM'; my @times = map Time::Piece->strptime(/(\d.+M)/,'%m/%d/%Y %H:%M:%S %p'),$str1,$str2; my $delta = $times[1] - $times[0]; print $delta->pretty;
产量
12 minutes,5 seconds