首页 > 编程语言 > 详细

实现JavaScript中Date对象的format()函数

时间:2015-03-26 17:45:51      阅读:182      评论:0      收藏:0      [点我收藏+]

JavaScript脚本语言中,因Web页面展示问题,经常需要将日期转换为某种格式,但是官方却没有对其提供,程序员都很懒的,咱们自个来写!!

/**
 * Author Joyce.Luo 11:57:35 prepared in 2015.02.10
 * JavaScript language Methods: format(), based on the replace() method to realize
 * For example:
 *         new Date().format("yyyy-MM-dd HH:mm:ss");
 *         new Date().format("yyyy-MM-dd");
 * @param {} pattern the pattern describing the date and time format
 * @return {} returns a formatted string date
 */
Date.prototype.format = function(pattern){
    var o = {
        "M+" : this.getMonth()+1,                 /*Month*/
        "d+" : this.getDate(),                    /*Day*/
        "h+" : this.getHours(),                   /*Hours*/
        "m+" : this.getMinutes(),                 /*Minute*/ 
        "s+" : this.getSeconds(),                 /*Seconds*/
        "q+" : Math.floor((this.getMonth()+3)/3), /*Quarter*/
        "S"  : this.getMilliseconds()             /*Millisecond*/
    };
    if (/(y+)/.test(pattern))
        pattern = pattern.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(pattern))
            pattern = pattern.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return pattern;
}

其实这个还可以优化,但是时间问题,我这就不改动了,大家有兴趣的可以在评论中重写

实现JavaScript中Date对象的format()函数

原文:http://blog.csdn.net/luo201227/article/details/44651281

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!