JavaScript日期處理

把一个日期字符串如 "2009-8-28 15:15:15" 转换为Date对象:

方法一:

var strArray = str.split(" ");
 var strDate = strArray[0].split("-");
 if(strArray.length==1){
   return new Date(strDate[0], (strDate[1] - parseInt(1)), strDate[2]);
 }
 var strTime = strArray[1].split(":");
 return new Date(strDate[0], (strDate[1] - parseInt(1)), strDate[2], strTime[0], strTime[1], strTime[2]);

方法二:

return  new  Date(Date.parse(s.replace(/-/g,   "/")));   

缺點:如果字符串 如 "2009-8-28 15:15:15",這樣就會出錯...

格式化日期:

Date.prototype.format = function(format) {
 /*
  * eg:format="yyyy-MM-dd hh:mm:ss";
  */
 var o = {
 "M+" : this.getMonth() + 1, // month
 "d+" : this.getDate(), // day
 "h+" : this.getHours(), // hour
 "m+" : this.getMinutes(), // minute
 "s+" : this.getSeconds(), // second
 "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
 "S" : this.getMilliseconds()
 // millisecond
 }

 if (/(y+)/.test(format)) {
 format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
 }

 for (var k in o) {
 if (new RegExp("(" + k + ")").test(format)) {
  format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
 }
 }
 return format;
}

原文地址:https://www.cnblogs.com/TankMa/p/1970749.html