我搜索了所有可能的问题,但找不到答案,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';
Run Code Online (Sandbox Code Playgroud)
后者是工作结束的时间,前者是开始工作的时间.
我如何找出日期和时间的差异?在这种情况下日期是相同的,但它们也可能不同.
Bor*_*din 10
我建议你使用该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;
Run Code Online (Sandbox Code Playgroud)
产量
12 minutes, 5 seconds
Run Code Online (Sandbox Code Playgroud)