var newDate =function (data,fmt) {
    if(!data) return "";
    var timeStr = new Date(parseInt(data));
    var fmt = fmt || "yyyy-MM-dd hh:mm:ss";
    var o = {
        "M+": timeStr.getMonth() + 1, //月份
        "d+": timeStr.getDate(), //
        "h+": timeStr.getHours(), //小时
        "m+": timeStr.getMinutes(), //
        "s+": timeStr.getSeconds(), //
        "q+": Math.floor((timeStr.getMonth() + 3) / 3), //季度
        "S": timeStr.getMilliseconds() //毫秒
    };
    // 如果 fmt 中有y,fmt中y替换为timeStr.getFullYear(),例:
    // yyyy-MM-dd hh:mm:ss 替换为 2018-MM-dd hh:mm:ss
    // yy-MM-dd hh:mm:ss 替换为 18-MM-dd hh:mm:ss
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (timeStr.getFullYear() + "").substr(4 - RegExp.$1.length));
    // 下面循环原理同上
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
console.log(newDate("1525573091550"));                                // 2018-05-06 10:18:11
console.log(newDate("1525573091550","yyyy年MM月dd日 hh时mm分ss秒"));    // 2018年05月06日 10时18分11秒

如有表述不准确之处,欢迎指正,欢迎补充,感谢阅读。