【发布时间】:2016-01-27 15:49:48
【问题描述】:
我制作了非常基础的 JavaScript 世界时钟。我让它工作了,但是不同城市的时间没有按我想要的更新。例如,悉尼与英国的时差是 11 小时,所以我添加了 11 小时以上。然后我添加了一个条件来将时间格式化为 12 小时格式,如下所示 悉尼时间 > 12 sydneyHours -= 12;
但它仍然显示 11 + 本地时间的任何小时数,例如(16:46:49);
此外,我们将不胜感激任何改进建议。
非常感谢
function timeNow(){
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
var meridiem = "AM";
var isbHours = 5 + hours;
var romeHours = 1 + hours;
var sydneyHours = 11 + hours;
if(seconds < 10){
seconds = "0" + seconds;
}
if(minutes < 10){
minutes = "0" + minutes;
}
if(hours < 10){
hours = "0" + hours;
}
if(sydneyHours < 10){
sydneyHours = "0" + sydneyHours;
}
if(hours > 12){
hours = hours - 12;
meridiem = "PM";
}
if(isbHours > 12){
isbHours = isbHours - 12;
meridiem = "PM";
}
if(romeHours > 12){
romeHours = romeHours - 12;
meridiem = "PM";
}
if(sydneyHours > 12){
sydneyHours = sydneyHours - 12;
meridiem = "PM";
}
var localClock = document.getElementById('localClock');
localClock.innerText = hours + ":" + minutes + ":" + seconds + " " + meridiem;
localClock.innerText += "\n" + "Local Time";
var isbClock = document.getElementById('isbClock');
isbClock.innerText = isbHours + ":" + minutes + ":" + seconds + " " + meridiem;
isbClock.innerText += "\n" + "Islamabad Time";
var sydneyClock = document.getElementById('sydneyClock');
sydneyClock.innerText = sydneyHours + ":" + minutes + ":" + seconds + " " + meridiem;
sydneyClock.innerText += "\n" + "Sydney Time";
var romeClock = document.getElementById('romeClock');
romeClock.innerText = romeHours + ":" + minutes + ":" + seconds + " " + meridiem;
romeClock.innerText += "\n" + "Rome Time";
}
setInterval(timeNow, 1000);
#localClock {
background: #87D4ED;
}
#isbClock {
background: #EDDB11;
}
#sydneyClock {
background: #F27D66;
}
#romeClock {
background: #F09E2B;
}
#worldclock {
width: 800px;
margin: 50px auto;
}
#localClock, #isbClock, #sydneyClock, #romeClock {
font-size: 40px;
font-family: arial, monospace;
position: relative;
top: 0; left: 0; right: 0; bottom: 0;
color: #fff;
padding-top: 70px;
text-align: center;
width: 400px;
height: 200px;
float: left;
}
<div id="worldclock">
<div id="localClock"></div>
<div id="isbClock"></div>
<div id="sydneyClock"></div>
<div id="romeClock"></div>
</div>
【问题讨论】:
-
我看到它显示正确的时间。 (例如下午 6:59:50)...
-
要获取任何时区的时间,请使用 UTC 方法:从实际 UTC 小时或分钟中添加/减去时间,然后使用 getUTC* 方法获取调整后的时间。
标签: javascript html css date