1. /**
    2. * 日期时间格式化
    3. * @param fmt 格式化规则
    4. * @returns {*} 格式化日期
    5. */
    6. Date.prototype.format = function (fmt) {
    7. var o = {
    8. "M+": this.getMonth() + 1, //月份
    9. "d+": this.getDate(), //日
    10. "h+": this.getHours() % 12 === 0 ? 12 : this.getHours() % 12, //小时
    11. "H+": this.getHours(), //小时
    12. "m+": this.getMinutes(), //分
    13. "s+": this.getSeconds(), //秒
    14. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    15. "S": this.getMilliseconds() //毫秒
    16. };
    17. var week = {
    18. "0": "/u65e5",
    19. "1": "/u4e00",
    20. "2": "/u4e8c",
    21. "3": "/u4e09",
    22. "4": "/u56db",
    23. "5": "/u4e94",
    24. "6": "/u516d"
    25. };
    26. if (/(y+)/.test(fmt)) {
    27. fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    28. }
    29. if (/(E+)/.test(fmt)) {
    30. fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[this.getDay() + ""]);
    31. }
    32. for (var k in o) {
    33. if (new RegExp("(" + k + ")").test(fmt)) {
    34. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    35. }
    36. }
    37. return fmt;
    38. }