javascript - 如何在javascript中获取UTC时区并调整为PDT/PT

标签 javascript jquery

我构建了一个倒数计时器,但它只是使用 getTime(),我不确定如何调整它,以便它是我想要的正确时区(PDT/PT)

var countdownTimer = setInterval(countdownTick, 1000);

function countdownTick() {
    jQuery('ul.countdown').each(function() {
        var date = jQuery(this).attr('data-date').split('-'); // Create date array from attribute
        var time = jQuery(this).attr('data-time').split('-'); // Create time array from attribute
        for (var i = 0; i < date.length; i++) {
            date[i] = parseInt(date[i]);
        }
        for (var i = 0; i < time.length; i++) {
            time[i] = parseInt(time[i]);
        }
        var today = new Date();
        var theDate = new Date(date[0], (date[1] - 1), date[2], time[0], time[1]);
        if (theDate.getTime() > today.getTime()) { // If the target date is in the future
            countdownCalc(this, theDate, today); // Calculate how much time there is until the target date
        }
    });
}

function countdownCalc(obj, targetDate, currentDate) {
    var oneDay = 1000 * 60 * 60 * 24;
    var oneSecond = 1000;
    var output = (targetDate.getTime() - currentDate.getTime());
    var day = Math.floor(output / oneDay);
    var hour = Math.floor((output - (day * oneDay)) / (1000 * 60 * 60));
    var minute = Math.floor((output - (hour * (1000 * 60 * 60) + (day * oneDay))) / (1000 * 60));
    var second = Math.floor((output - ((minute * 60000) + (hour * 1000 * 60 * 60) + (day * oneDay))) / 1000);
    jQuery(obj).html('<li><span class="countdown-label">DAYS</span><span class="countdown-number">' + day + '</span></li><li><span class="countdown-label">HOURS</span><span class="countdown-number">' + hour + '</span></li><li><span class="countdown-label">MINUTES</span><span class="countdown-number">' + minute + '</span></li><li><span class="countdown-label">SECONDS</span><span class="countdown-number">' + second + '</span></li>');
}

https://jsfiddle.net/4nag4h5v/

最佳答案

这里是插件有用的地方,使用 moment-timezone.js

我们能够做的事情很简单:

let time = Date.now();
moment(time).tz("YOURTIMEZONE").format('x') // get timestamp (in milliseconds

关于javascript - 如何在javascript中获取UTC时区并调整为PDT/PT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47145706/

相关文章:

javascript - 如何使用 asp.net 禁用 Firefox 默认 PDF 查看器/插件?

javascript - 使用特定选择器添加点击事件处理程序

javascript - 具有动态内容的按钮

javascript - 将对象内的相同 id 连接到一个对象数组

javascript - Ajax 调用成功,但无法从 $_POST 获取单选值

javascript - 如何在不使用 javascript 或 jquery 中的表单的情况下在登录中创建记住我的功能

javascript - $ ("<img/>").one ('load' 触发多次

jquery - vGrid 中的不同图像宽度

javascript - 清除整个 Canvas 比清除部分更快?

javascript - 使用 meteor.js 选择时突出显示输入框