8


1

Perlで日付演算を行うための推奨される方法は何ですか?

Perlで日付演算を行うための推奨される方法は何ですか?

たとえば、今日から3日前の日付を知りたいとします(「今日」=「2010-10-17」、「今日-3日」=「2010-10-13」)。 Perlでどうしますか?

4 Answer


11


DateTimeとDateTime

Durationを使用できます

または、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);


6


CPANのDateTime(またはhttp://datetime.perl.org/[here])を参照してください。


5


さまざまな日付と時刻の操作モジュールがあります。

これらが含まれます:

  • Date::Calc-および Add_Delta_Days関数

  • Date::Manip-および DateCalc関数

  • DateTime

    これらはすべてよく考えられています。 他にもたくさんあります。 多くは、あなたがしたい算術の種類に依存します。 おそらくDateTimeが最も厳密ですが、Date

    CalcとDate :: Manipが必要な作業を処理しやすいかもしれません。


0


これは、私が出会った中で最も機能的なモジュールです。http://search.cpan.org/~sbeck/Date-Manip-6.13/lib/Date/Manip.pod [Date

Manip]