用javascript显示明天的名称?

用javascript显示明天的名称?,javascript,dayofweek,weekday,Javascript,Dayofweek,Weekday,我试图在我们的电子商务网站上输出类似于以下内容的内容: Order by 5pm today for dispatch on Monday 显然,单词“星期一”将替换为第二天的名称,最好是下一个工作日,即不是星期六或星期天 我有以下简单的javascript脚本,它完成了最基本的版本。它只输出当前日期名称: <p id="orderBy"> <script type="text/javascript"> <!-- // Array of day nam

我试图在我们的电子商务网站上输出类似于以下内容的内容:

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日名称?因此,它将输出明天的名称,而不是今天的名称。此外,可以跳过周末吗?

另一种方式

<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>

这里有一条可以跳过周末的单行线:

document.write("Order by 5pm today for dispatch on " + 
                                  dayNames[ ((now.getDay() + 1) % 6 ) || 1 ] );
如果getDay是星期五5,那么+1是6,%6是0,这是错误的,因此| | 1使它成为星期一

如果getDay是周六6,那么+1是7,%6是周一1

如果getDay是星期日0,那么+1是1,%6是1星期一


无需维护并行阵列。

我错过了他想跳过周末的消息。很好。建议使用数组文字符号而不是新的数组。@T.J.Crowder我将编辑答案以使用文字符号-只是通过剪切和粘贴问题中的代码来偷懒。如果我在开发网站上有这个,伪造当前日期以检查其是否在周六等工作的最简单方法是什么?@dannymcc您可以向日期构造函数提供参数,以便现在将其设置为任何您想要的日期,以用于测试目的。请看这个网站,它很整洁,但我更喜欢并行数组,因为它可以使代码的作用变得明显,并且可以很容易地更改规则-例如,如果您找到周六送货的快递员。@Noel:是的,数组将提供更大的灵活性。说得好。虽然在这种情况下,你只需将%改为7,你就有周六了。每个国家的工作日也不一样,在以色列这里是星期天到星期四,其他国家是不同的。@Zachary K:我很感激,但解决方案是针对问题的具体要求。如果需要,任何解决方案都需要进行本地化调整。