/**
* 返回指定format的string
* format eg:'yyyy-MM-dd hh:mm:ss'
**/
Date.prototype.format=function(format){var o ={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+": Math.floor((this.getMonth()+3)/3),"S":this.getMilliseconds()}if(/(y+)/.test(format)){
format = format.replace(RegExp.$1,(this.getFullYear()+"").substr(4- RegExp.$1.length));}for(var k in o){if(newRegExp("("+ k +")").test(format)){
format = format.replace(RegExp.$1, RegExp.$1.length ==1? o[k]:("00"+ o[k]).substr((""+ o[k]).length));}}return format;}
使用如:newDate().format('yyyy-MM-dd');// echo: '2015-12-01'
2.时间去掉时分秒
方案一:
var date ="2018-10-08 00:00:00";var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(date)
newDate="2018-10-08";
方案二:
var time_str='2014-9-19 13:19:21';var t = time_str.substr(0,10);
3.普通最常用的时间格式化
functionformatDate(time){var date =newDate(time);var year = date.getFullYear(),
month = date.getMonth()+1,//月份是从0开始的
day = date.getDate(),
hour = date.getHours(),
min = date.getMinutes(),
sec = date.getSeconds();var newTime = year +'-'+
month +'-'+
day +' '+
hour +':'+
min +':'+
sec;return newTime;//2021-4-25 10:33:45 }
4.考虑小于零的情况
functionformatDate(time){var date =newDate(time);var year = date.getFullYear(),
month = date.getMonth()+1,//月份是从0开始的
day = date.getDate(),
hour = date.getHours(),
min = date.getMinutes(),
sec = date.getSeconds();var newTime = year +'-'+(month <10?'0'+ month : month)+'-'+(day <10?'0'+ day : day)+' '+(hour <10?'0'+ hour : hour)+':'+(min <10?'0'+ min : min)+':'+(sec <10?'0'+ sec : sec);return newTime;}formatDate(newDate().getTime());//2017-05-12 09:09:21
5.优雅
functionformatDate(time,format='YY-MM-DD hh:mm:ss'){var date =newDate(time);var year = date.getFullYear(),
month = date.getMonth()+1,//月份是从0开始的
day = date.getDate(),
hour = date.getHours(),
min = date.getMinutes(),
sec = date.getSeconds();var preArr = Array.apply(null,Array(10)).map(function(elem, index){return'0'+index;});开个长度为10的数组 格式为 00010203var newTime = format.replace(/YY/g,year).replace(/MM/g,preArr[month]||month).replace(/DD/g,preArr[day]||day).replace(/hh/g,preArr[hour]||hour).replace(/mm/g,preArr[min]||min).replace(/ss/g,preArr[sec]||sec);return newTime;}formatDate(newDate().getTime());//2017-05-12 10:05:44formatDate(newDate().getTime(),'YY年MM月DD日');//2017年05月12日formatDate(newDate().getTime(),'今天是YY/MM/DD hh:mm:ss');//今天是2017/05/12 10:07:45