こんにちは。
出荷日とお届け予定日を表示するバナーを作りたいのですが、
お届け予定日の方をどう作ればよいか、教えてください。
「出荷日」(最短営業日、15時締め)は設定済です。
dispDate2W(0,15)
「お届け予定日」が、現在は(第2営業日、第3営業日)
dispDate2W(1,15)
dispDate2W(2,15)
にしておりますが、
厳密には「出荷日の翌日」なので、
dispDate2W(0,15) の翌日
にしたいのです。
例えば、出荷日が金曜日だと、お届け日は月曜日ではなく、土曜(翌日)・日曜日(翌々日)になります。
どうぞよろしくお願いいたします。
JavaScript
1 2<SCRIPT language="JavaScript"> 3<!-- 4 5/* ------------------------------------------------------------------- 6 出荷日計算JavaScript「出荷日田中ちゃん」ver 1.01 (c) tanaka-chan 7-------------------------------------------------------------------- */ 8 9thisDay = new Date(); 10timeStamp = thisDay.getTime(); 11myMonth = thisDay.getMonth() + 1; 12myDate = thisDay.getDate(); 13myHours = thisDay.getHours(); 14myDay = thisDay.getDay(); 15myWeekTbl = new Array( "日","月","火","水","木","金","土" ); 16 17function isHoliday (year, month, date, nday) { 18 nofw = Math.floor((date - 1) / 7) + 1; 19 shunbun = Math.floor(20.8431+0.242194*(year-1980)-Math.floor((year-1980)/4)); 20 syubun = Math.floor(23.2488+0.242194*(year-1980)-Math.floor((year-1980)/4)); 21 if (month == 8 && date >= 13 && date <= 16) { return 1; } // 臨時休業日~日 22 if (month == 5 && date >= 1 && date <= 2) { return 1; } // 臨時休業日2 23 if (month == 1 && date == 1) { return 1; } // 元旦 24 if (month == 1 && nday == 1 && nofw == 2) { return 1; } // 成人の日 25 if (month == 2 && date == 11) { return 1; } // 建国記念の日 26 if (month == 3 && date == shunbun) { return 1; } // 春分の日 27 if (month == 4 && date == 29) { return 1; } // みどりの日 28 if (month == 5 && date >= 3 && date <= 5) { return 1; } // 憲法記念日~こどもの日 29 if (month == 7 && nday == 1 && nofw == 3) { return 1; } // 海の日 30 if (month == 9 && nday == 1 && nofw == 3) { return 1; } // 敬老の日 31 if (month == 9 && date == syubun) { return 1; } // 秋分の日 32 if (month == 9 && nday == 2 && nofw == 3 33 && date+1 == syubun) { return 1; } // 9月第3火曜の翌日が秋分の日→国民の休日 34 if (month == 10 && nday == 1 && nofw == 2) { return 1; } // 体育の日 35 if (month == 11 && date == 3) { return 1; } // 文化の日 36 if (month == 11 && date == 23) { return 1; } // 勤労感謝の日 37 if (month == 12 && date == 23) { return 1; } // 天皇誕生日 38 if (nday == 0) { return 2; } // 日曜 39 if (nday == 6) { return 2; } // 土曜 40 return 0; 41} 42 43 44 45function dispDateW () { 46 return dispDate(1); 47} 48 49function dispDate1W (h) { 50 return dispDate1(h, 1); 51} 52 53function dispDate2W (n, h) { 54 return dispDate2(n, h, 1); 55} 56 57} 58function dispDate (w) { 59 return dateFormat(myMonth,myDate,myDay,w); 60} 61 62function dispDate1 (h, w) { 63 return dispDate2(0, h, w); 64} 65 66function dispDate2 (n, h, w) { 67 var i = 0; 68 while (i <= n) { 69 thisDay.setTime(timeStamp + (1000*60*60*24 * i)); 70 myYear2 = thisDay.getFullYear(); 71 myMonth2 = thisDay.getMonth() ; 72 myDate2 = thisDay.getDate(); 73 myDay2 = thisDay.getDay(); 74 if (isHoliday(myYear2,myMonth2,myDate2,myDay2) == 0 && i == 0 && h <= myHours) { n++; } // 翌日扱い 75 if (isHoliday(myYear2,myMonth2,myDate2,myDay2) >= 1){ n++; } // 休日 76 if (isHoliday(myYear2,myMonth2,myDate2,myDay2) == 1 && myDay2 == 0){ n++; } // 振替休日 77 i++; 78 } 79 return dateFormat(myMonth2,myDate2,myDay2,w); 80} 81 82function dateFormat (month, date, week, w) { 83 if (w == 1) { return month+"月"+date+"日("+myWeekTbl[week]+")"; } 84 else { return month+"月"+date+"日"; } 85} 86 87// --> 88</SCRIPT> 89 90 91<!-- 1列 透過背景なし --> 92<div class="original_banner2"> 93<div class="original_banner_box"> 94<div class="banner_data"> 95<div class="inner_banner_data"> 96<span class="sbanner_title"> 97 98 99当日発送は15時まで・15時以降は翌日以降発送となります。<br> 100ただいまご注文されると、お急ぎ便で<br> 101 102<span class="banner_title"> 103<SCRIPT language="JavaScript"><!-- 104document.write(dispDate2W(0,15)); 105// --></SCRIPT> 発送、</span></span> 106 107<font color="#D90000"><span class="switch" "banner_desc"><b>関西方面</b></span><span class="switch"> 108<span class="banner_title">翌日 109<SCRIPT language="JavaScript"><!-- 110document.write(dispDate2W(1,15)) + 1; 111// --></SCRIPT></span></span></font> 112 113<font color="#D90000"><span class="switch" "banner_desc"><b>関東方面</b></span><span class="switch"> 114<span class="banner_title">翌々日 115<SCRIPT language="JavaScript"><!-- 116document.write(dispDate2W(2,15)); 117// --></SCRIPT></span></span></font> 118 119<font color="#D90000"><span class="switch" "banner_desc"><b>北海道・沖縄</b></span><span class="switch"> 120<span class="banner_title">3日後 121<SCRIPT language="JavaScript"><!-- 122document.write(dispDate2W(3,15)); 123// --></SCRIPT>以降</span></span></font> 124 125<span class="banner_desc"> 126 <font size=2.5>のお届け予定です。</font><br><br><b><font size=2.5><i class="fas fa-exclamation-triangle"></i>これ以前の日付を選択された場合、後ほどお届け日修正のご連絡をさせていただきます。<br><br><i class="fas fa-exclamation-triangle"></i>季節・繁忙期など例外がございます。詳しくはお問い合わせください。</font></b> 127</span> 128</div> 129</div> 130</div></div>