2012-05-10 101 views
1
var austDay = new Date("May 18, 2012 00:00:00"); 
      $('#countdown').countdown({until: austDay}); 

是我得到的。我希望使这个静态,我的意思是它显示在所有时区相同的倒计时。因此,无论您是否在计算机上更改时区或日期,都不应影响倒计时,而且应该保持8小时。javascript/php静态倒计时,怎么样?

也许这不可能,因为Javascript是客户端?

我该怎么办?我真的希望它倒计时,而不是所以你需要刷新。也许我可以使用PHP的一些帮助?

倒计时应该是相同的例4时朝,还应显示,在纽约和亚洲..

+1

var austDay = new Date(Date.UTC(2012,4,18)); –

+1

GGG写成答案!谢谢!!!! – Karem

回答

2

您可以使用PHP服务器的时间传递到客户端,像这样。

var time = new Date(<?php echo time()*1000; ?>); 
0
var austDay = new Date("May 18, 2012 00:00:00"); 

这将创建出的日期和时间日期对象,在用户的本地时区。要创建一个UTC日期,你可以做这样的事情,而不是:

var austDay = new Date(Date.UTC(2012, 4, 18)); 

...其中4是从零开始个月号(2012年和18年,日,很明显)。

如果需要显示日以后,使用“UTC”的功能,而不是其非UTC的同行,例如:

console.log(austDay.toUTCString()) // "Fri, 18 May 2012 00:00:00 GMT" 

另一个问题是,用户可以改变他们的时钟。为了给他们留下像“剩下8小时”之类的东西,并且绝对有把握,你必须将服务器时间与客户的时间进行比较,并根据此时间设置日期。

例如,如果服务器知道事情发生在明天中午,并且在晚上9点,则倒计时在15个小时内结束。您可以告诉客户在倒计时准备好之前剩下多少时间,而不是给他们一个绝对的时间。

var austDay = new Date(); 
var hoursLeft = <?php echo $something ?>; 

austDay.addHours(hoursLeft); 

你可能想这样做,在几秒钟或更小而不是几个小时,我使用的小时数这里简单。