gpt4 book ai didi

javascript - 使用 javascript 的当前时间未获取正确的位置

转载 作者:行者123 更新时间:2023-12-01 05:16:21 25 4
gpt4 key购买 nike

运行脚本以获取两个特定位置的当前时间。一个时间是山区时间,另一个时间是东海岸时间。我遇到一个问题,如果用户位于 PST 位置,山地时间时钟将根据太平洋标准时间显示时间。除了 PST 之外,我还有办法确保两个时钟只获取 MT 和 ET 并考虑夏令时吗?

$(document).ready(function(){

function timeDisplay() {
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
//var seconds = currentTime.getSeconds();
var meridiem = " ";

if(hours >= 12){
hours = hours - 12;
meridiem = "pm";
}
else{
meridiem = "am";
}
if(hours === 0){
hours = 12;
}
if(hours < 10){
hours = "0" + hours;
}
if(minutes < 10){
minutes = "0" + minutes;
}

var clockDiv = document.getElementById('stat');
clockDiv.innerText = hours + ":" + minutes + meridiem;
}

timeDisplay();
setInterval(timeDisplay, 1000);



function newYorkTimeDisplay(offset) {
var currentTime = new Date();
currentTime.setHours(currentTime.getHours()+offset);

var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
//var seconds = currentTime.getSeconds();
var meridiem = " ";

if(hours >= 12){
hours = hours - 12;
meridiem = "pm";
}
else{
meridiem = "am";
}
if(hours === 0){
hours = 12;
}
if(hours < 10){
hours = "0" + hours;
}
if(minutes < 10){
minutes = "0" + minutes;
}

var newYorkDiv = document.getElementById('newYork');
newYorkDiv.innerText = hours + ":" + minutes + meridiem;
}

newYorkTimeDisplay(+2);
setInterval(newYorkTimeDisplay, 1000, +2);

});

对此的任何帮助表示赞赏。试图找出我错过了什么。

提前致谢。

最佳答案

您需要获取用户当前的 UTC 时区偏移量,并将其从纽约的时区偏移量中减去。

var tz_offset = (new Date().getTimezoneOffset()/100) - 3;
newYorkTimeDisplay(tz_offset);
<小时/>

$(document).ready(function() {

function timeDisplay() {
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
//var seconds = currentTime.getSeconds();
var meridiem = " ";

if (hours >= 12) {
hours = hours - 12;
meridiem = "pm";
} else {
meridiem = "am";
}
if (hours === 0) {
hours = 12;
}
if (hours < 10) {
hours = "0" + hours;
}
if (minutes < 10) {
minutes = "0" + minutes;
}

var clockDiv = document.getElementById('stat');
clockDiv.innerText = hours + ":" + minutes + meridiem;
}

timeDisplay();
setInterval(timeDisplay, 1000);



function newYorkTimeDisplay(offset) {
var currentTime = new Date();
currentTime.setHours(currentTime.getHours() + offset);

var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
//var seconds = currentTime.getSeconds();
var meridiem = " ";

if (hours >= 12) {
hours = hours - 12;
meridiem = "pm";
} else {
meridiem = "am";
}
if (hours === 0) {
hours = 12;
}
if (hours < 10) {
hours = "0" + hours;
}
if (minutes < 10) {
minutes = "0" + minutes;
}

var newYorkDiv = document.getElementById('newYork');
newYorkDiv.innerText = hours + ":" + minutes + meridiem;
}

var tz_offset = (new Date().getTimezoneOffset()/100) - 3;
newYorkTimeDisplay(tz_offset);

setInterval(newYorkTimeDisplay, 1000, +2);

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id=newYork></div>
<div id=stat></div>

关于javascript - 使用 javascript 的当前时间未获取正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915487/

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