1

簡単な JavaScript を使用して、自分の国の現地時間を Web サイトに表示していますが、壊れているようです。真夜中の 12 時を過ぎると、時計は本来午前にリセットされますが、時刻は午後 1 時で表示され続けます (例: 午前 1 時ではなく午後 1 時)。

体:

<body onload="updateClock(); setInterval('updateClock()', 1000 )">

//div tags, elements etc

</body>

JS:

function updateClock (){

var currentTime =  new Date();
var currentHours = currentTime.getUTCHours() + 8; 
var currentMinutes = currentTime.getUTCMinutes();
var currentSeconds = currentTime.getUTCSeconds();

// var bucurestiOffset = 3*60000;
// var userOffset = currentTime.getTimezoneOffset()*60000;

currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;

var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
currentHours = ( currentHours == 0 ) ? 12 : currentHours;

var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay;
  document.getElementById("clock").firstChild.nodeValue = currentTimeString;
}

結果: 午後 13:52:40。私がいる現在の時刻は午前 1 時 52 分です。これを修正する方法がわかりません。

4

2 に答える 2