我需要在我的网站上显示"打开"和"关闭"功能的脚本。
脚本应在周一至周五每天上午 08:00 至下午 19:30 显示"OPEN">
周六应在上午 08:00 至下午 15:00 显示"开放"(否则显示关闭(
周日全天关闭。
我尝试管理此脚本,但我无法实现它:
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')
但是我需要添加几天,这只是为了时间。
hours
变量将是一个整数,您需要将其与数字进行比较,如下所示:
if (hours >= 8 && hours <= 19)
document.write('Open')
else if (hours >= 19 && hours <= 7)
document.write('Close')
重写这些方法时,您还需要从Digital
变量中获取并比较分钟数。
在检查时间之前,您需要使用 if
语句检查当前日期。您的格式略有偏差,因为digital.getHours()
返回一个整数而不是那些格式化的字符串。
我还添加了一个setInterval
,用于每分钟更新一次状态,以防页面长时间打开。
这是小提琴:http://jsfiddle.net/u6bwJ/1/
编辑:修复了一些错误(即拼写错误(。我也看到您需要为此进行本地化。我对代码顶部进行了一些更改,这些更改会根据时区进行调整,因此它始终根据本地时间显示信息。不过,有一个警告,那就是它目前被硬编码以包括夏令时。这意味着一旦 DST 切换,它将不准确。
第 10 行:
utc1Time=new Date(localTime.getTime() + (localTime.getTimezoneOffset() + 120) * 60000);
该+ 120
在将客户端时间转换为 UTC 时间后增加 2 小时,使其为 UTC+1,然后添加 DST 偏移量。您将需要添加一些方法来检查 DST 是否有效,类似于 utc1Time.toString().match(/daylight/i)
但我会把它留给你,因为这可能足以让你建立起来。
希望这对:D有所帮助