function UTCTime() {
var time = "MM/DD/YYYY HH:MM:SS AM\PM";
var months = ["Jan", 'Feb', "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var array = dtc_time.split(/[\/\s:]/);
var d = new Date(array[2], array[0] - 1, array[1], array[3], array[4], array[5], 0);
d.setHours(array[3] - 1);
var time = formatAMPM(d);
var local = d.getDate() + "/" + months[d.getMonth()] + "/" + d.getFullYear() + " " + time;
document.getElementById("demo").innerHTML = local.fontcolor("white");
}
function formatAMPM(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var ampm = hours >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0' + minutes : minutes;
seconds = seconds < 10 ? '0' + seconds : seconds;
var strTime = hours + ':' + minutes + ':' + seconds + ' ' + ampm;
return strTime;
}
は 'Date'最初にそれを変換して、それを修正しますか? – David
確かに。日付に変換し、エポックからmsを取得し、3600000 ms(1時間)を追加して元に戻します。この方法では、午後11時以降の日付に1時間を追加すると、閏年や月境界線のようなものに対処する必要はありません。 – Shilly
'var配列= dateStr.split(/ [\/\ s:] /)'を使用し、配列からDateオブジェクトを作成します。 – jcubic