2015-11-05 44 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

對於測試來說可能是將其設置爲現在是時候讓你可以看它是否會提醒與否更有幫助的目的。 (這是假設時間不在你的範圍內)