营业时间的脚本javascript

时间:2013-09-25 15:12:25

标签: javascript

我需要显示“Open”& amp;我网站上的“关闭”功能。

脚本应该每周一至周五上午08:00至晚上19:30显示“OPEN”

和星期六应该从上午08:00到下午15:00显示“OPEN”(否则显示CLOSED)

周日全天停止营业。

我尝试管理这个脚本,但我无法实现它:

var Digital=new Date()
var hours=Digital.getHours()

if (hours>=08:00&&hours<=19:30) 
document.write('Open')
else if (hours>=19:31&&hours<=07:59) 
document.write('Close')

但我需要添加天,这只是时间。

2 个答案:

答案 0 :(得分:1)

hours变量将是整数,您需要将其与数字进行比较,如下所示:

if (hours >= 8 && hours <= 19) 
    document.write('Open')
else if (hours >= 19 && hours <= 7) 
    document.write('Close')

重写这些方法时,您还需要获取并比较Digital变量的分钟数。

答案 1 :(得分:1)

在检查时间之前,您需要使用if语句检查当前日期。您的格式略有偏差,因为digital.getHours()返回整数而不是那些格式化的字符串。

我还添加了一个setInterval来每分钟更新状态,以防页面长时间处于打开状态。

这是小提琴:http://jsfiddle.net/u6bwJ/1/

编辑:修正了一些错误(即错别字)。我也看到你需要本地化。我对代码的顶部做了一些调整以调整时区,因此它总是根据当地时间显示信息。但有一点需要注意,那就是目前硬编码包括夏令时。这意味着一旦DST切换,它将是不准确的。

第10行:
utc1Time=new Date(localTime.getTime() + (localTime.getTimezoneOffset() + 120) * 60000);

在将客户端时间转换为UTC时间后,+ 120正在增加2小时,这使得它为UTC + 1,然后添加DST偏移量。您需要添加一些方法来检查DST是否生效,这是有道理的 utc1Time.toString().match(/daylight/i)
但是我会把它留给你,因为这可能足以让你构建一个框架。

希望这有帮助:D