转换日期时间格式

时间:2015-08-07 22:46:43

标签: javascript jquery datetime

使用javascript转换日期时间格式的最佳方法是什么?

我有这个......“2015-08-06T00:39:08Z” 并希望将其更改为

“06/08/2015 12:39 pm”

3 个答案:

答案 0 :(得分:1)

您可以通过实例化Date对象来手动完成:

var d = new Date('2015-08-06T00:39:08Z');

然后使用Date方法(如getDaygetUTCFullYear)获取所需信息并构建格式化字符串。

或者,如果您不介意依赖库,则可以使用提供了大量方法的http://momentjs.com/,尤其是format方法:http://momentjs.com/docs/#/displaying/format/

// Example with moment.js
var formattedDate = moment('2015-08-06T00:39:08Z').format("MM/DD/YYYY hh:mma");
alert(formattedDate);

答案 1 :(得分:1)

使用newDate()方法,然后使用Date Get Methods。 w3Schools上解释了一些例子

方法说明

            getDate()   Get the day as a number (1-31)
            getDay()    Get the weekday as a number (0-6)
            getFullYear()   Get the four digit year (yyyy)
            getHours()  Get the hour (0-23)
            getMilliseconds()   Get the milliseconds (0-999)
            getMinutes()    Get the minutes (0-59)
            getMonth()  Get the month (0-11)
            getSeconds()    Get the seconds (0-59)
            getTime()   Get the time (milliseconds since January 1, 1970)

答案 2 :(得分:1)

使用纯javascript:

代码:

function formatDate(input) {
    var datePart = input.match(/\d+/g),
        year = datePart[0], // get only two digits
        month = datePart[1],
        day = datePart[2];
    var h = parseInt(input.substr(input.indexOf("T") + 1, 2));
    var m = parseInt(input.substr(input.indexOf(":") + 1, 2));
    var dd = "AM";
    if (h >= 12) {
        h = hh - 12;
        dd = "PM";
    }
    if (h == 0) {
        h = 12;
    }
    m = m < 10 ? "0" + m : m;
    alert(day + '/' + month + '/' + year + ' ' + h.toString() + ':' + m.toString() + dd);
}

formatDate('2015-08-06T00:39:08Z'); // "18/01/10"