如何在jquery倒计时器中设置时区

时间:2010-05-20 06:05:40

标签: javascript jquery

我想将GMT + 5:30作为我在jquery倒计时的时区。 倒计时开始时间为'Thu May 20 16:00:00 IST 2010' 结束时间为'星期五5月20日17:00:00 IST 2010'作为价值。

+330是我在几分钟内给出的时区。 但我的倒计时从00:35:00开始。 我原以为倒计时从01:00:00开始 不知道为什么会出现这种差异。

    <script type="text/javascript">
        $(function () {
            var endTime = '#{myBean.getCountDownDate()}';
            $('#defaultCountdown').countdown({
                until: endTime, format: 'HMS',
                timezone: +330,
                compact: true, description: '#{myBean.getCountDownDate()}'});
        });
    </script>

2 个答案:

答案 0 :(得分:5)

使用until参数时,倒计时插件会倒计时直至该时间。

这将使用正确的偏移量运行一小时。

$('#countdown').countdown({
    until: $.countdown.UTCDate(+330, 2010, 6-1, 20, 17),
    format: 'HMS',
    compact: true
});

自2010年:06:20:17已经过去,它将显示00:00:00。

我敢打赌你倒计时00:35:00的原因是你在2010年左右看到它:06:20:16:25。

答案 1 :(得分:2)

将结束时间格式更改为'星期四,2010年5月20日17:00:00 IST'时会发生什么?

-edit -

看起来你不应该将日期值传递给String,直到它为止。您可以传入日期以指定确切的日期/时间,但字符串仅应用作时间偏移量,这就是您刷新时总是获得相同剩余时间的原因。

我无法通过'IST'时区获取Date转换字符串,因此我最终使用了'GMT + 05:30'。我还把时区偏移用小时而不是分钟来计算。

<script type="text/javascript">
$(function () {
    var endTime = "Tue, 29 Jun 2010 12:00:00 GMT+0530";
    $('#defaultCountdown').countdown({
        until: new Date(endTime), format: 'HMS',
        timezone: +5.5,
        compact: true, description: endTime.toString()});
});
</script>