9

Perlで日付演算を行う推奨方法は何ですか?

たとえば、今日から 3 日前の日付を知りたいとします (ここでtoday=2010-10-17today - 3 days= 2010-10-13)。Perl でそれを行うにはどうすればよいでしょうか。

4

4 に答える 4

12

DateTime と DateTime::Duration を使用できます

http://search.cpan.org/dist/DateTime/lib/DateTime/Duration.pm

または、UNIX タイムスタンプを操作します。

my $now = time();
my $threeDaysAgo = $now - 3 * 86400;
my ($day, $mon, $year) = (localtime($threeDaysAgo))[3, 4, 5];
printf("Three days ago was %04d-%02d-%02d", $year+1900, $mon+1, $day);
于 2010-10-17T18:11:09.080 に答える
6

CPAN の DateTime (またはこちら)を参照してください。

于 2010-10-17T18:10:27.920 に答える
5

非常に多くの異なる日付と時刻操作モジュールがあります。

これらには以下が含まれます:

これらはすべてよく考えられています。この他にも多数あります。多くは、実行したい演算の種類に依存します。DateTime はおそらく最も厳密ですが、Date::Calc と Date::Manip の方が必要な作業を処理しやすい場合があります。

于 2010-10-17T18:16:01.460 に答える
0

これは、私が遭遇した最も多くの機能を備えたモジュールです: Date::Manip

于 2010-10-17T18:16:57.760 に答える