ここの初心者。申し訳ありませんが、よろしくお願いします。将来の日付があります
(ie:2013-06-09 / $fields[12])
今日は引く必要があります
(ie:2013-03-08)
残り日数を取得します。
DateTimeを使用します。日付を文字列として開始する場合は、DateTime :: Format::Strptimeを使用して解析できます。
use DateTime qw( );
use DateTime::Format::Strptime qw( );
my $format = DateTime::Format::Strptime->new(
pattern => '%Y-%m-%d',
time_zone => 'local',
on_error => 'croak',
);
my $ref = DateTime->today( time_zone => 'local' );
my $dt = $format->parse_datetime('2013-06-09');
my $days = $ref->delta_days($dt)->in_units('days');
print(
$dt < $ref ? "$days days ago\n" :
$dt > $ref ? "$days days from now\n" :
"today\n");
DateTimeモジュールを使用します。
use DateTime;
my $d1 = DateTime->new(
year => 2013,
month => 9,
day => 6
);
my $d2 = DateTime->now;
my $diff = $d2->delta_days($d1);
print $diff->delta_days, "\n"; # 182 (from 8/3/2013)