1、先说为啥写这一篇文章;
因为今天在对一个接口的时候,后端要求传日期的时候必须是“2021-12-28”这种类型格式的日期;所以需要自己做一个格式化日期,做成一个方法,用的时候直接调用即可。
2、直接上方法代码
var dateFormat = (dateInput, format) => {
var day = dateInput.getDate()
if (day < 10) {
day = '0' + day
}
var month = dateInput.getMonth() + 1
if (month < 10) {
month = '0' + month
}
var year = dateInput.getFullYear()
format = format.replace(/yyyy/, year)
format = format.replace(/MM/, month)
format = format.replace(/dd/, day)
return format
}
3、如何使用这个方法?
let date1 = dateFormat(new Date(), 'yyyy-MM-dd')
直接这样就好了,这时候这个date1就是你想要的当前的时间格式化之后的时间了。
4、拓展应用
拓展一
而且无论以后想要用那种格式的时间,都可以很容易的进行修改;(直接修改第二个参数就行)
(1)日期格式1:2021-12-28
let date1 = dateFormat(new Date(), 'yyyy-MM-dd')
(2)日期格式2:2021年12月28日
let date1 = dateFormat(new Date(), 'yyyy年MM月dd日')
(3)日期格式3:2021/12/28
let date1 = dateFormat(new Date(), 'yyyy/MM/dd')\
拓展二
想要做“2021/12/28 21:55”这种格式的时间也是可以的
这个时候就要修改一下方法:
var dateFormat = (dateInput, format) => {
var minute = dateInput.getMinutes();
if(minute<10){
minute = '0'+minute;
}
var hour = dateInput.getHours();
if(hour<10){
hour = '0'+hour;
}
var day = dateInput.getDate()
if (day < 10) {
day = '0' + day
}
var month = dateInput.getMonth() + 1
if (month < 10) {
month = '0' + month
}
var year = dateInput.getFullYear()
format = format.replace(/yyyy/, year)//年
format = format.replace(/MM/, month)//月
format = format.replace(/dd/, day)//日
format = format.replace(/hh/,hour)//时
format = format.replace(/mm/,minute)//分
return format
}
使用的话就直接:
let date1 = dateFormat(new Date(), 'yyyy/MM/dd hh:mm')