ルモーリン
ホーム更新サービス雑談ランドナーコースガイド鉄ゲタ自転車Linuxリンク連絡先

日付計算や時間計算にDateTime

こんなコードで

#!/usr/bin/env perl -w

use utf8;
use strict;
use warnings;

use v5.10;

use DateTime;
use Encode::Argv;
use Encode::Locale;

use open IO => ":utf8";

binmode STDIN, ":encoding(console_in)";
binmode STDOUT, ":encoding(console_out)";

$| = 1;

my $d = DateTime->new(
	year => 2018,
	month => 1,
	day => 1,
	time_zone => "local",
);

my $d1 = $d->clone->add(days => 1);
my $d2 = $d->clone->add(months => 1);
my $d3 = $d->clone->add(years => 1);

say $d;
say $d1;
say $d2;
say $d3;

違和感のない結果

Windows(ActivePerl/5.26)とLinux(CentOS/5.24)で同じ結果を確認しています。
 T00:00:00
 T00:00:00
 T00:00:00
 T00:00:00

他のモジュールでは

上手く行かないモジュールがあるようです。