在项目中常遇到格式化时间为自己想要的样子,但是如果引用一个组件又觉得太大了,于是整理了一个自己觉得好用的代码,记录于此,一是方便其它开发者使用,二是自己忘了的时候也可以再看看。
我写技术文章没那么多废话,直接上代码:
1.在ts粘贴:
const formateDate = (date: any, formater: any) => {
if (!date) {
return '-- : --'
}
date = date.toString().replace(/-/g, '/')
var nowDate = new Date(date)
var year: any = nowDate.getFullYear()
var month: any = nowDate.getMonth() + 1
month = month < 10 ? '0' + month : month
var day: any = nowDate.getDate()
day = day < 10 ? '0' + day : day
var hour: any = nowDate.getHours()
hour = hour < 10 ? '0' + hour : hour
var minute: any = nowDate.getMinutes()
minute = minute < 10 ? '0' + minute : minute
var second: any = nowDate.getSeconds()
second = second < 10 ? '0' + second : second
var _after = year + '-' + month + '-' + day
var week: any = nowDate.getDay();
var weeks = new Array(
"周日",
"周一",
"周二",
"周三",
"周四",
"周五",
"周六"
);
week = weeks[week];
if (formater) {
_after = formater
.replace('yyyy', year)
.replace('MM', month)
.replace('dd', day)
.replace('HH', hour)
.replace('mm', minute)
.replace('ss', second)
.replace('week', week)
}
return _after
}
2.在ts里使用
let time1 = formateDate("2022-07-26 14:32:36.2222","yyyy-MM-dd HH:mm:ss");
console.log(time1);//结果是:2022-07-26 14:32:36
let time2 = formateDate("2022-07-26 14:32:36.2222","yyyy-MM-dd HH:mm");
console.log(time2);//结果是:2022-07-26 14:32
let time3 = formateDate("2022-07-26 14:32:36.2222","yyyy-MM-dd");
console.log(time3);//结果是:2022-07-26
let time4 = formateDate("2022-07-26 14:32:36.2222","yyyy年MM月dd日 HH时mm分ss秒");
console.log(time4);//结果是:2022年07月26日 14时32分36秒
let time5 = formateDate("2022-07-26 14:32:36.2222","yyyy年MM月dd日");
console.log(time5);//结果是:2022年07月26日
//等
//新增加了根据当前日期推算是周几
let time6= formateDate("2022-10-26 14:32:36.2222","yyyy-MM-dd (week)");
console.log(time6);//结果是:2022-10-26 (周三)
3.感谢
如果觉得写得好,记得收藏哦 ~ (O_O) ~