使用12小时格式

时间:2014-07-02 19:36:24

标签: javascript date time

http://jsfiddle.net/2Tcvc/

document.getElementById("para1").innerHTML = formatAMPM();

function formatAMPM() {
    var d = new Date(),
        minutes = d.getMinutes().toString().length == 1 ? '0' + d.getMinutes() :         d.getMinutes(),
        hours = d.getHours().toString().length == 1 ? '' + d.getHours() : d.getHours(), 
        ampm = d.getHours() >= 12 ? 'pm' : 'am',
        months = ['January', 'February', 'March', 'April', 'May', 'June', 'July',     'August', 'September', 'October', 'November', 'December'],
        days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    return days[d.getDay()] + ', ' + months[d.getMonth()] + ' ' + d.getDate() + ', ' + d.getFullYear() + ' ' + hours + ':' + minutes + ampm;
}

我对js不是很好,每次尝试它都会破坏它。 谁能告诉我如何显示12小时格式并可能解释发生了什么? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果是PM,则需要从小时中减去12,并将0更改为12 am。

hours = d.getHours();
ampm = hours >= 12 ? 'pm' : 'am';
if (hours == 0) {
    hours = 12; // midnight is 12am
} else if (hours > 12) {
    hours -= 12;
}
if (hours.toString().length == 1) {
    hours = '0' + hours;
}