【发布时间】:2022-01-20 03:07:02
【问题描述】:
我正在创建一个显示世界时钟的 HTML/JavaScript 页面,但是我遇到了一个问题,即时钟没有正确调整到上午/下午,也没有保持标准时间格式。我意识到这是因为使会话更改为 = 'PM' 的 if 语句仅适用于它获得的时区。此外,我的代码仅获取时间并将其放入加利福尼亚插槽,因为那是我所在的时区,因此如果您在太平洋时间以外的时区打开此代码,所有世界时钟都将不正确。是否可以将我的时钟保持为标准时间格式并且是正确的 AM 或 PM?
let clock = document.getElementById('clock');
function currentTime() {
let date = new Date();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
let session = 'AM';
if (hours == 0) {
hours = 12
}
if (hours > 12) {
hours = hours - 12
session = 'PM'
}
minutes = (minutes < 10) ? "0" + minutes : minutes;
seconds = (seconds < 10) ? "0" + seconds : seconds;
let time = hours + ':' + minutes + ' ' + session;
document.getElementById('clock').innerText = time;
let york = (hours + 3) + ':' + minutes + ' ' + session;
document.getElementById('york').innerText = york;
let hawaii = (hours - 2) + ':' + minutes + ' ' + session;
document.getElementById('hawaii').innerText = hawaii;
let dubai = (hours + 12) + ':' + minutes + ' ' + session;
document.getElementById('dubai').innerText = dubai;
document.getElementById('seconds').innerText = ':' + seconds;
let london = (hours + 8) + ':' + minutes + ' ' + session;
document.getElementById('london').innerText = london;
let moscow = (hours + 12) + ':' + minutes + ' ' + session;
document.getElementById('moscow').innerText = moscow;
let paris = (hours + 9) + ':' + minutes + ' ' + session;
document.getElementById('paris').innerText = paris;
let tokyo = (hours + 17) + ':' + minutes + ' ' + session;
document.getElementById('tokyo').innerText = tokyo;
let t = setTimeout(function() {
currentTime()
}, 1000);
}
currentTime();
p {line-height: 0.5em}
<div id="container">
<div id="clockContainer">
<div id="titleContainer">
<p id="title">California <span id="clock" class='clock'></p>
</div>
<div id="titleContainer">
<p id="title">New York <span id="york" class='clock'></p>
</div>
<div id="titleContainer">
<p id="title">Hawaii <span id="hawaii" class='clock'></p>
</div>
</div>
<div id="clockContainer">
<div id="titleContainer">
<p id="title">Dubai <span id="dubai" class='clock'></p>
</div>
<div id="titleContainer">
<p id="title">Seconds <span id="seconds" class='clock'></p>
</div>
<div id="titleContainer">
<p id="title">London <span id="london" class='clock'></p>
</div>
</div>
<div id="clockContainer">
<div id="titleContainer">
<p id="title">Tokyo <span id="tokyo" class='clock'></p>
</div>
<div id="titleContainer">
<p id="title">Paris <span id="paris" class='clock'></p>
</div>
<div id="titleContainer">
<p id="title">Moscow <span id="moscow" class='clock'></p>
</div>
</div>
</div>
【问题讨论】:
标签: javascript html function datetime if-statement