この例では、基準日を取り、7½ 時間、1 日 7½ 時間、2 日 7½ 時間などを追加します。
use Date::Manip;
use DateTime;
use DateTime::Format::DateManip;
Date::Manip::Date_Init("TZ=America/New_York", "Language=English");
my $otime = DateTime->new(
year => 2013,
month => 3,
day => 4,
hour => 0,
minute => 0,
second => 0,
time_zone => 'America/New_York',
);
my $t1 = UnixDate($otime, "%i:%M %p on %A, %B %e, %Y ");
print "original $t1\n";
for (my $i = 0; $i <= 20; $i++) {
my $dtw = $otime->clone();
$dtw->add(
minutes => (15) * 30,
days => ($i),
);
$t1 = UnixDate($dtw, "%i:%M %p on %A, %B %e, %Y ");
print "$i days $t1\n";
}
6 日 7.5 時間を追加すると、結果には余分な時間が含まれます。
オリジナル 2013 年 3 月 4 日 月曜日 午前 12:00 0 日 2013 年 3 月 4 日月曜日の午前 7 時 30 分 2013 年 3 月 5 日(火)午前 7 時 30 分 1 日 2013 年 3 月 6 日 (水) 午前 7 時 30 分 2 日 2013 年 3 月 7 日(木)午前 7 時 30 分 3 日 2013 年 3 月 8 日(金)午前 7 時 30 分 4 日 2013 年 3 月 9 日(土)午前 7 時 30 分 5 日 6 日 2013 年 3 月 10 日 (日) 午前 8 時 30 分 # なぜ 7 時 30 分ではなく 8 時 30 分なのか? 2013 年 3 月 11 日月曜日の午前 7 時 30 分 7 日 8 日 2013 年 3 月 12 日火曜日 07:30 AM 2013 年 3 月 13 日水曜日 午前 7 時 30 分 9 日 2013 年 3 月 14 日(木)午前 7 時 30 分 10 日 2013 年 3 月 15 日 (金) 午前 7 時 30 分 11 日 2013 年 3 月 16 日(土)午前 7 時 30 分 12 日 2013 年 3 月 17 日(日)午前 7 時 30 分 13 日 2013 年 3 月 18 日月曜日の午前 7 時 30 分 14 日間 2013 年 3 月 19 日火曜日 07:30 AM の 15 日間 2013 年 3 月 20 日水曜日 午前 7 時 30 分 16 日 2013 年 3 月 21 日 木曜日 午前 7 時 30 分 17 日 2013 年 3 月 22 日金曜日の午前 7 時 30 分 18 日 2013 年 3 月 23 日(土)午前 7 時 30 分 19 日 2013 年 3 月 24 日(日)午前 7 時 30 分 20 日