【问题标题】:Using a 12 hour format [duplicate]使用 12 小时格式 [重复]
【发布时间】:2014-08-23 17:54:09
【问题描述】:

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 小时格式并可能解释发生了什么? 提前致谢。

【问题讨论】:

标签: javascript date time


【解决方案1】:

如果是下午,则需要从小时数中减去 12,然后将 0 更改为凌晨 12 点。

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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    相关资源
    最近更新 更多