javascript使jquery倒计时与UTC时间一起工作

时间:2015-02-28 23:08:07

标签: javascript jquery

我正在使用这个jquery倒计时:

https://hilios.github.io/jQuery.countdown/

我像这样初始化它:

        <div id="clock"></div>
        <script type="text/javascript">
            $('#clock').countdown('2015/03/27 00:00:00')
              .on('update.countdown', function(event) {
                var format = '%H:%M:%S';
                if(event.offset.days > 0) {
                  format = '%-D day%!d ' + format;
                }
                $(this).html(event.strftime(format));
               })
             .on('finish.countdown', function(event) {
               $(this).html('FINISHED!');
             });
        </script>

我使用的目标时间是UTC,但只有当用户以UTC格式进入网站时才能使用。我需要让它在所有时区都有效,我的意思是,无论用户来自哪里,总是要看到同样的时间......

如何做到这一点?

2 个答案:

答案 0 :(得分:3)

试试这个:

var finalDate = new Date(Date.UTC(2015, 03, 27))

$('#clock').countdown(finalDate)
    .on('update.countdown', function(event) {
    ...

这样,finalDate变量将包含&#39; 2015/03/27 00:00:00&#39;日期在客户的时区

请注意,Date.UTC功能还可以选择小时,分钟,秒和毫秒参数,以防您想要为倒计时指定这些参数。

答案 1 :(得分:0)

我的猜测是该库在客户端上使用本地时钟。因此,您必须根据时区更改倒计时日期。

我在文档中找不到关于时区的任何信息: http://hilios.github.io/jQuery.countdown/documentation.html

也许你可以在日期使用这样的功能:

d.setHours(d.getHours() - parseInt(-d.getTimezoneOffset() / 60));