gpt4 book ai didi

javascript - 将 javascript Date() 转换为 UTC 和偏移时间

转载 作者:行者123 更新时间:2023-12-02 17:50:04 24 4
gpt4 key购买 nike

我在网站上有一个倒计时器(它充当当天发货倒计时器,因此访问者知道他们是否下订单,如果在时间窗口内,则今天就会发货。)基本上计时器只是从周一到周五倒计时,直到下午 5:00,然后从“0”(午夜,24 小时制)重新开始,一切正常。

然后我意识到,由于时间是客户端 (javascript),PST 时区的访问者将看到与他们应该看到的时间相比错误的时间(商店位于东部)。

不幸的是,我无法使用 php 或任何服务器端从服务器获取时间,因此它必须是 javascript(转换为 UTC 和偏移量)。

据我所知,我对变量做了一些错误的事情,可能还有更多,有人可以告诉我我到底设置错了什么吗? (它在我的控制台中没有显示任何错误)。

if (document.getElementById('countdownTimer')) {
pad = function(n, len) { // leading 0's
var s = n.toString();
return (new Array( (len - s.length + 1) ).join('0')) + s;
};
function calcTime(offset) {

// create Date object for current location
var d = new Date();

// convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
offset = -5.0;
var now = utc + (3600000*offset);


function countDown() {
//var now = new Date();
if ( (now.getDay() >= 1) && (now.getDay() <= 5) ) { // Monday to Friday only
var target = 17; // 15:00hrs is the cut-off point
if (now.getHours() < target) { // don't do anything if we're past the cut-off point
var hrs = (target - 1) - now.getHours();
if (hrs < 0) hrs = 0;
var mins = 59 - now.getMinutes();
if (mins < 0) mins = 0;
var secs = 59 - now.getSeconds();
if (secs < 0) secs = 0;
var str = '<span id="day">00</span><span id="hour">' + pad(hrs, 2) + '</span><span id="minute">' + pad(mins, 2) + '</span><span id="second">' + pad(secs, 2) + '</span>';
document.getElementById('countdownTimer').innerHTML = str;
}
}
}
var timerRunning = setInterval('countDown()', 1000);
}
}

最佳答案

我在这些行中看到:

    // convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
offset = -5.0;
var now = utc + (3600000*offset);

您正在创建一个 now 变量作为数字,然后在函数 countDown() 中将其用作日期对象。 您应该将 now 变量创建为这样的日期

var now = new Date(utc + (3600000*offset));

关于javascript - 将 javascript Date() 转换为 UTC 和偏移时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21447991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com