2

私は私たちのeコマースウェブサイトで次のようなものを出力しようとしています:

Order by 5pm today for dispatch on Monday

明らかに、月曜日という単語は翌日の名前に置き換えられます(理想的には、次の営業日、つまり土曜日や日曜日ではありません)。

最も基本的なバージョンを実行する次の単純なjavascriptスクリプトがあります。現在の日の名前を出力するだけです。

<p id="orderBy">
<script type="text/javascript"> 
  <!-- 
  // Array of day names
  var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday",
                "Thursday","Friday","Saturday");
  var now = new Date();
  document.write("Order by 5pm today for dispatch on " + dayNames[now.getDay()]);
  // -->
</script>
</p>

上記のコードを操作して曜日名を+1する方法はありますか?したがって、今日ではなく明日の名前が出力されます。さらに、週末をスキップすることは可能ですか?

4

2 に答える 2

3

別の方法...

<p id="orderBy">
<script type="text/javascript"> 
  <!-- 
  // Array of day names
  var dayNames = ["Sunday","Monday","Tuesday","Wednesday",
                "Thursday","Friday","Saturday"];
  var nextWorkingDay = [ 1, 2, 3, 4, 5, 1, 1 ];
  var now = new Date();
  document.write("Order by 5pm today for dispatch on " +
                 dayNames[nextWorkingDay[now.getDay()]]);
  // -->
</script>
</p>
于 2011-01-30T14:00:55.103 に答える
2

週末もスキップするワンライナーは次のとおりです。

document.write("Order by 5pm today for dispatch on " + 
                                  dayNames[ ((now.getDay() + 1) % 6 ) || 1 ] );
  • getDayがFriday(5)の場合、+ 1は6、%6は0であり、これは誤りなので|| 1は1(月曜日)になります。

  • getDayが土曜日(6)の場合、+ 1は7、%6は1(月曜日)

  • getDayが日曜日(0)の場合、+ 1は1、%6は1(月曜日)

並列アレイを維持する必要はありません。

于 2011-01-30T14:08:54.357 に答える