将带时间的长日期转换为mm-dd-yyyy hh:mm AM / PM

Bob*_*nes 4 javascript datetime date

我需要你的帮助。

您如何使用JavaScript将带时间的长日期字符串转换为以下日期/时间格式:mm-dd-yyyy hh:mm AM / PM

即。

Wed May 27 10:35:00 EDT 2015
Run Code Online (Sandbox Code Playgroud)

05-27-2015 10:35 AM
Run Code Online (Sandbox Code Playgroud)

tal*_*myn 5

可悲的是,对于JS Date对象,没有灵活的内置“格式”方法,因此您必须手动执行此操作(或使用插件/库)。这是您手动执行的操作:

function formatDate(dateVal) {
    var newDate = new Date(dateVal);

    var sMonth = padValue(newDate.getMonth() + 1);
    var sDay = padValue(newDate.getDate());
    var sYear = newDate.getFullYear();
    var sHour = newDate.getHours();
    var sMinute = padValue(newDate.getMinutes());
    var sAMPM = "AM";

    var iHourCheck = parseInt(sHour);

    if (iHourCheck > 12) {
        sAMPM = "PM";
        sHour = iHourCheck - 12;
    }
    else if (iHourCheck === 0) {
        sHour = "12";
    }

    sHour = padValue(sHour);

    return sMonth + "-" + sDay + "-" + sYear + " " + sHour + ":" + sMinute + " " + sAMPM;
}

function padValue(value) {
    return (value < 10) ? "0" + value : value;
}
Run Code Online (Sandbox Code Playgroud)

使用您的示例日期。。。

formatDate("Wed May 27 10:35:00 EDT 2015")  ===>  "05-27-2015 10:35 AM"
Run Code Online (Sandbox Code Playgroud)