Implement the format () function of the Date object in JavaScript
Due to Web page display problems, it is often necessary to convert the date into a certain format, but the JavaScript scripting language is not provided to them officially. Programmers are very lazy. Let's write it by ourselves, expand it by yourself !!
/** * 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;}
In fact, this can be optimized, but I will not change the time. If you are interested, you can rewrite it in the comments.