0

我目前正在尝试创建一个 JavaScript,它会在我们的商店打开和关闭时显示在我们的网站上。

我基本上想在两次之间创建一个 if 语句,分别是 8:30 和 5:30。

我目前正在执行以下操作,尽管它不起作用,因为我实际上定义了两个相互抵消的“分钟”。

<script type="text/javascript">

  var Digital=new Date();
  var day=Digital.getDay();
  var hours=Digital.getHours();
  var minutes=Digital.getMinutes();

  // Monday - Open //
  if (day==1 && hours>=8 && minutes>=30 && day==1 && hours<=17 && minutes<=30)
  document.write('Open today until 5:30pm');

</script>

任何人都可以提出一种实现我想要做的事情的方法吗?

4

2 回答 2

0

这个怎么样:

if(day == 1 && hours*60+minutes >= 510 && hours*60+minutes <= 1050) {
    // do stuff
}

8 * 60 + 30 = 51017 * 60 + 30 = 1050

于 2013-07-15T13:07:52.813 回答
0

这里要注意的一件事是

new Date() 

从客户端的时钟获取本地时间。如果客户的时钟设置在不同的时区,您可能无法获得您希望的结果。我建议也获取客户的时区并将其转换为您想要的时区添加/减去任何偏移量,从类似的东西开始

var clientTime = new Date();
var clientTimeZone = clientTime.getTimezoneOffset();

//getTimezoneOffset 返回当前语言环境和 UTC 之间的时区偏移量(以分钟为单位)。

于 2013-07-15T13:39:29.003 回答