• 締切済み

日付のJavaについて質問

日付のJavaについて質問です。 <script> function makedate(){ now = new Date(); Day = 12 * 60 * 60 * 1000; now.setTime( now.getTime() + Day ); document.write("<select name=year>"); for(i = 2016; i <= 2017; i++){ Set_year = now.getYear(); Set_year = (Set_year < 2000) ? Set_year+1900 : Set_year ; if(i == Set_year){ document.write("<option value="+i+" selected>"+i); }else{ document.write("<option value="+i+">"+i); } } document.write("</select> 年"); </script> 上のような日付のプログラムを制作してみたいと思っています。 for以下のところですが、2016年⇒17年⇒18年...と年を越しても自動的に値を取得するにはどうすれば良いのでしょうか。 教えて頂ければと思います。

みんなの回答

回答No.2

Java ではなく JavaScript ですね。 日付関数は使ったことはないいですけど、ご参考になれば。 > Day = 12 * 60 * 60 * 1000; > now.setTime( now.getTime() + Day ); ↑12時間進めているようですが?どんな意図でしょうか? > Set_year = now.getYear(); > Set_year = (Set_year < 2000) ? Set_year+1900 : Set_year ; ↑getYear は非推奨で代わりに getFullYear を使用する事が推奨されているようです。 > for(i = 2016; i <= 2017; i++){ > Set_year = now.getYear(); > Set_year = (Set_year < 2000) ? Set_year+1900 : Set_year ; > if(i == Set_year){ Set_year = now.getFullYear(); for(i = Set_year; i<(Set_year+5); i++){ // i の比較を「i<=」から「i<」に変更。 // ↑5年分のループ、例えば Set_year の値が 2001 なら 2005 までループする。 // 「(Set_year+5)」の"5"の値が その期間に対応します、この"5"の部分を変数にしても良いです。 if(i == Set_year){

  • thumbbass
  • ベストアンサー率37% (36/95)
回答No.1

getYear() などは Deprecated らしいので Calendar を使った方がよいかと思われます。

関連するQ&A

専門家に質問してみよう