2015-11-05 38 views
0

我试图在特定时间(上午11点至下午2点 - 客户端/服务器端)在我的网站上运行弹出窗口。我使用getHours()来检查当前时间,但有些地方是错误的 - 弹出窗口似乎无法识别这个条件。以下是密码 -仅在特定时间运行Javascript代码

<script type="text/javascript"> 
var now = new Date(); 
if (now.getHours() > 11 && now.getHours() < 14) 
{ 
    //popup code 
} 
</script> 

谢谢!

+3

11a-2p在服务器上或客户端? – j08691

+0

客户端:) – codemode

+0

嗨,它实际上可以是它们中的任何一个 - 客户端或服务器 - 对我们来说也是一样的。我们的服务器的时间是根据巴西的,感谢 – codemode

回答

-1

该代码看起来没问题,所以问题可能出在弹出代码而不是你的日期检查。

尝试使用console.log或alert来确认您获得的值是否符合您的预期。 console.log是更好的,如果你知道如何使用你的控制台,否则尝试与警报,类似:

<script type="text/javascript"> 
var now = new Date(); 
alert(now.getHours()); //to confirm what's the value you're getting 
if (now.getHours() >= 11 && now.getHours() < 14) 
{ 
    alert('here there be dragons'); //to confirm that the condition is ok 
} 
</script> 
+1

代码实际上是错误的:它从12:00到1:59 pm运行 –

+0

,.. 。出于一些奇怪的原因,alert(now.getHours());不工作:( – codemode

+0

@MarioTrucco你是对的,我加了> =所以它的工作原理是11.我假设到下午2点不包括下午2点,所以我离开那个单独 – innocuo

0

检查代码当前使用的时区:)虽然您可能正在使用诸如GTM-5之类的东西,但如果您的PC正在使用UTC,那么它会识别不同的时间。

这里有一个问题,我发现可以帮助你发现这一点: How do you create a JavaScript Date object with a set timezone without using a string representation

对于测试来说可能是将其设置为现在是时候让你可以看它是否会提醒与否更有帮助的目的。 (这是假设时间不在你的范围内)