0
我想分割一個月到4周使用perl.Say爲例如。我給出的開始日期和結束日期的輸入。 開始日期-09/01/2014 結束日期-09/30/2014鑑於一個月perl應該拆分爲幾周
perl應該將日期範圍分成4個不同的星期。您對我如何繼續這一點有任何想法。
在此先感謝..
我想分割一個月到4周使用perl.Say爲例如。我給出的開始日期和結束日期的輸入。 開始日期-09/01/2014 結束日期-09/30/2014鑑於一個月perl應該拆分爲幾周
perl應該將日期範圍分成4個不同的星期。您對我如何繼續這一點有任何想法。
在此先感謝..
4周持續28天。你已經在30天的時間內爲你的問題作了準備。
假設你只是想一個星期代表星期天 - 星期六,然後使用Time::Piece
下面的代碼會爲您提供幫助:
use strict;
use warnings;
use Time::Piece;
use Time::Seconds;
my $start = '09/01/2014';
my $end = '09/30/2014';
my $fmt = '%m/%d/%Y';
# Normalized to Noon to avoid DST
my $week_start = Time::Piece->strptime($start, $fmt) + 12 * ONE_HOUR;
my $month_end = Time::Piece->strptime($end, $fmt);
while (1) {
print $week_start->strftime($fmt), ' - ';
my $week_end = $week_start + ONE_DAY * (6 - $week_start->day_of_week);
if ($week_end > $month_end) {
print $end, "\n";
last;
}
# Print End of Week and begin cycle for next week
print $week_end->strftime($fmt), "\n";
$week_start = $week_end + ONE_DAY;
}
輸出:
09/01/2014 - 09/06/2014
09/07/2014 - 09/13/2014
09/14/2014 - 09/20/2014
09/21/2014 - 09/27/2014
09/28/2014 - 09/30/2014
謝謝你這麼多米勒的答案。 – javalearner 2014-10-08 19:03:46