- ベストアンサー
javascriptで任意の曜日に日をプラスさせる方法
- Javascriptを使用して、任意の曜日に日をプラスさせる方法をご教示願います。
- 現在の日付を取得し、指定した曜日の日を加算することで、任意の曜日に日をプラスさせることができます。
- 土曜日の場合は2日、日曜日の場合は1日を加算することで、配送までの日付を取得することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
7日後の日付を求める手段を知っていて、曜日を知る手段も知っているのに、何故わからないのか不思議です。if文を知らないと言うことですかね。 var nweek = ["日","月","火","水","木","金","土"]; var y = new Date(); // 今の日時を得る y.setDate(y.getDate()+7); // 今から7日後の日時を得る if(y.getDay()==0){ // もしそれが日曜日なら y.setDate(y.getDate()+1); // その1日後の日時を得る }else if(y.getDay()==6){ // そうじゃなくて土曜日なら y.setDate(y.getDate()+2); // その2日後の日時を得る } var yYear = y.getFullYear(); var yMonth = y.getMonth() + 1 ; var yDate = y.getDate(); var yweekjp = y.getDay();
その他の回答 (2)
- nora1962
- ベストアンサー率60% (431/717)
処理の仕様がいま一つよく分かりません。 now.setDate(nDate+7); とありますが、月を超える場合はどうなるのですか? http://www.hoge256.net/2007/08/64.html の例にあるような関数を自作し、「7日後の日付」を求めて、そこから曜日を取得。その結果が土曜日なら、更に「2日後の日付」、日曜なら「1日後の日付」を求めるのが普通な気がしますが。
- fujillin
- ベストアンサー率61% (1594/2576)
よくわかってないけれど、土曜と日曜に関しては次の月曜日に繰り越して表示したいということでしょうか? こんなのではどうでしょう? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head><title>sample</title> <meta http-equiv="Content-Script-Type" content="text/javascript"> </head> <body> <div id="target"></div> <script type="text/javascript"> <!-- var week = "日月火水木金土".split(""); var day, now = new Date(), w = now.getDay(); now.setDate((w==0?1:w==6?2:0) + 7 + now.getDate()); day = now.getFullYear() + "/" + (now.getMonth()+1) + "/"; day += now.getDate() + " " + week[now.getDay()] + "曜日"; document.getElementById("target").innerHTML = day; //--> </script> </body> </html>
お礼
仰るとおり、if文が読めません。 カスタマイズや付け加えたりはできるんですが、 新しく文を作ると言うのが出来ないです。 本当に助かりました。 ありがとうございました。