查找Perl的天数

时间:2015-05-28 19:35:22

标签: perl time

我有两个日期格式为年 - 月 - 日时:分:秒

例如:2015-01-01 10:00:002015-01-10 11:00:00。我想将这两天之间的天数计算为10

我尝试了本地时间功能,但没有工作。我需要在perl中使用这个解决方案。请帮忙。

2 个答案:

答案 0 :(得分:7)

Time :: Piece在Perl中已成为标准模块一段时间了:

use strict;
use warnings;

use feature qw(say);
use Time::Piece;

my $date1 = '2015-01-01 10:00:00';
my $date2 = '2015-01-10 11:00:00';

my $format = '%Y-%m-%d %H:%M:%S';

my $diff = Time::Piece->strptime($date2, $format)
   - Time::Piece->strptime($date1, $format);

# subtraction of two Time::Piece objects produces a Time::Seconds object 
say $diff->days;

答案 1 :(得分:1)

试试这个:

(
    Time::Piece->strptime('2015-01-01 10:00:00', '%Y-%m-%d %H:%M:%S')
  - Time::Piece->strptime('2015-01-10 11:00:00', '%Y-%m-%d %H:%M:%S')
)->days

由于v5.9.5 Time::Piece是核心Perl发行版的一部分