在项目工作中,前后台交互经常会用到时间,特写此方法,以便于开发。
var formatTime = function(time,type,doubleNum) {
/**time:需要转换的时间;
* type:需要格式化的类型y('y')、y-m('m')、y-m-d('d')/y-m-d h:m:s(默认);
* doubleNum:月日时分秒的类型,例如2017-6(true) or 2017-06(默认)**/
let mydate = time?new Date(time):new Date();
let year = mydate.getFullYear();
let month = mydate.getMonth()+1;
let day = mydate.getDate();
let hour = mydate.getHours();
let minute = mydate.getMinutes();
let second = mydate.getSeconds();
if(!doubleNum){
month = month<10?'0' + month:month;
day = day<10?'0' + day:day;
hour = hour<10?'0' + hour:hour;
minute = minute<10?'0' + minute:minute;
second = second<10?'0' + second:second;
}
if(type=='y'){
return year;
}else if(type=="m"){
return year + '-' + month;
}else if(type=='d'){
return year + '-' + month + '-' + day;
}else{
return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ":" + second;
}
}
console.log(formatTime())//当前时间
console.log(formatTime('2017-10-29'))//2017-10-29
console.log(formatTime(new Date('2017-10-01')))//2017-10-01 08:00:00
console.log(formatTime(new Date('2017-10-29','y')))//2017
console.log(formatTime(new Date('2017-10-29','m')))//2017-10
console.log(formatTime(new Date('2017-10-01','d',true)))//2017-10-1
console.log(formatTime(new Date('2017-10-01','d',false)))//2017-10-01