1. 程式人生 > >JS 格式化日期

JS 格式化日期

如果使用jquery datatable 繫結日期時,如果不處理直接顯示的就是/Date(1456985696967)/
所以需要處理一下

///格式化日期方法定義

function formatDate(date, format) {
    if (!date) return;
    if (!format) format = "yyyy-MM-dd";
    switch (typeof date) {
        case "string":
            date = new Date(date.replace(/-/, "/"));
            break;
        case "number":
            date = new Date(date);
            break;
    }
    if (!date instanceof Date) return;
    var dict = {
        "yyyy": date.getFullYear(),
        "M": date.getMonth() + 1,
        "d": date.getDate(),
        "H": date.getHours(),
        "m": date.getMinutes(),
        "s": date.getSeconds(),
        "MM": ("" + (date.getMonth() + 101)).substr(1),
        "dd": ("" + (date.getDate() + 100)).substr(1),
        "HH": ("" + (date.getHours() + 100)).substr(1),
        "mm": ("" + (date.getMinutes() + 100)).substr(1),
        "ss": ("" + (date.getSeconds() + 100)).substr(1)
    };
    return format.replace(/(yyyy|MM?|dd?|HH?|ss?|mm?)/g, function () {
        return dict[arguments[0]];
    });
}

呼叫方法
方式一:

alert(formatDate("2010-04-30", "yyyy-MM-dd HH:mm:ss"));   
alert(formatDate("2010-4-29 1:50:00", "yyyy-MM-dd HH:mm:ss")); 


方式二:

var datestr="/Date(1408291200000+0800)/";
var newdate=eval(datastr.replace(/\//g, ''));

alert(formatDate(newdate, "yyyy-MM-dd HH:mm:ss"));   
alert(formatDate(newdate, "yyyy-MM-dd"));