Perlで2つの日付の間の日数を計算しよう
仕事で2つの日付の間の日数を計算しなくちゃいけなくなりました。
いつもならすぐにサブルーチンなんか書き始めるのですが、今回はなんとなく 「Date::Calc モジュールで出来るかも」 と思いまして、調べてみたら、やっぱり出来るじゃないですか!
というわけでサンプルのソースは以下の通りになります。
#!/usr/bin/perl use strict; use warnings; use Date::Calc qw(Delta_Days); my $Dd = Delta_Days(2012,1,1, 2012,1,3); print $Dd;
Delta_Days の第1引数から第3引数までが基準になる年月日で、第4引数から第6引数までが比較対象の年月日になります。
上記の例だと、2012年1月1日から2012年1月3日までの日数が変数 $Dd に格納されます。ちなみにこの場合の結果は2になります。
なお、実在しない日付を指定した場合はエラーになってそこで止まってしまうので、事前の日付存在チェックは必須となります。
参照リンク
・Date::Calc - search.cpan.org