我有一個日期$ time2,並希望增加一個月直到07/01/2015(07/0/2015,07/03/2015,07/04/2015,... )。perl遞增月份與本地時間
以一天增量正常工作:
$t2 = strftime("%m/%d/%Y", localtime($time2 + 24 * 3600)); # 07/01/2013
增量以一個月爲我有一個錯誤:
my $t02 = strftime("%m/%d/%Y", localtime($time2 + 0 * 3600));
my @t22 = ($t02 =~ m|(\d{2})/(\d{2})/(\d{4})|);
$t22[1]++;
$t2 = $t22[0]."/".$t22[1]."/".$t22[1];
有錯誤Month '-1' out of range 0..11
如何解決它? codei HERE
你可以直接粘貼'$ time2'的值嗎?你想在這裏實現什麼?提及樣品輸入和所需輸出。人們可能會建議更聰明的方法來解決它,而不是僅僅糾正你的錯誤。 – jkshah
您發佈的代碼不會發出該錯誤(或任何輸出(在添加缺少的'使用POSIX qw(strftime);'))之後)。這個錯誤來自'timelocal'或'timegm',你沒有使用它。請提供實際證明您的錯誤的代碼 – ikegami
請注意,並非所有日子都有24小時。 24 * 3600不會一直工作。您應該使用[DateTime](http://search.cpan.org/perldoc?DateTime) – ikegami