javascriptで指定日からの年月日計算の仕方
javascriptで指定日からの年月日計算の仕方 2003年12月15日と設定した場合、 開始より今日までで○年○ヶ月と○日経ちました。 といった風にサイト上に表示させたいと思っています。 今、 <script type="text/javascript"> <!-- now=new Date(); birth=new Date("12, 15, 2003 00:00:00"); ny=now.getYear(); by=birth.getYear(); ageY=ny-by; nm=now.getMonth(); bm=birth.getMonth(); ageM=nm-bm; nd=now.getDate(); bd=birth.getDate(); ageD=nd-bd; if (ageD<0){ ageM--; if (nm==0 || nm==2 || nm==4 || nm==6 || nm==7 || nm==9 || nm==11){ ageD+=31; } else if(nm==1){ if (ny/4==Math.floor(ny/4)){ ageD+=29;} else { ageD+=28;} } else { ageD+=30;} } if (ageM<0){ ageY--; ageM+=12;} age=ageY+"年"; if (ageM!=0){ age+=ageM+"ヶ月";} if (ageD!=0){ age+="と"+ageD+"日";} // --> </script> <script type="text/javascript"><!-- document.write("開始より今日までで"+age+"経ちました。"); //--></script> と組んでいるのですが、これはうるう年も考慮しているのでしょうか? また、○ヶ月部分で28日~31日までの種類がある中できちんと計算されているのですか? カウントアップの方法は色々見るのですが500日とかになるので年月日で出したいです。 改善点等ありましたらアドバイスお願いします。
丁寧に教えてくださり本当にありがとうございます ですが、最初の日付指定で例えば var begin = new Date(2012,12,05); とした場合表示結果は1年と28日となり、○ヶ月の表示がうまく機能しません この原因は一体何でしょうか?
JavaScript・1,596閲覧・500
ベストアンサー
このベストアンサーは投票で選ばれました