- ベストアンサー
月日のリスト表示
ayear,amonthで現在の年と月を置いている状態で、 2005年11月、2005年12月、2006年1月~・・・を、過ぎてしまった月は載せないようにリスト表示したいです。 どのようにしたら良いでしょうか? わかりにくくて大変申し訳ないです。。 何方かご教授宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1さんが書かれているとおり、次の月から出力するようにしては。 年月だけの未来日付だけで良いなら、1y=12mきめうちでよいかも: $ayear = 2005; $amonth = 11; for ( $i = 1; $i <= 24; $i++ ){ $nmonth = ($amonth - 1 + $i) % 12 + 1; $nyear = $ayear + int( ( $amonth - 1 + $i ) / 12 ); print $nyear, '/', $nmonth, "\n"; }
その他の回答 (1)
- guci-ok
- ベストアンサー率33% (49/146)
Date::Calcをインストールして下さい。 #!Perl # NextMonth.pl use Date::Calc qw(Today Add_Delta_YM); my @today = Today(); for $next (1..10) { @toMonth = Add_Delta_YM(@today[0,1],1, 0,$next); printf "%04d/%02d\n" => @toMonth[0,1]; } __END__ C:>NextMonth.pl 2005/12 2006/01 2006/02 2006/03 2006/04 2006/05 2006/06 2006/07 2006/08 2006/09