两次之间的Javascript

时间:2013-07-15 12:58:15

标签: javascript date time

我正在尝试创建一个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>

有人能提出一种方法来实现我想做的事吗?

2 个答案:

答案 0 :(得分:0)

这个怎么样:

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

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

答案 1 :(得分:0)

这里要注意的一件事是

new Date() 

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

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

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