1.常用时间
// 过滤时间
export const filterTime = time => {
return moment(time).format('YYYY-MM-DD')
}
2.过滤时间差
// 方法一: moment 过滤 4分钟前
// 引入
// import moment from 'moment'
// import 'moment/locale/zh-cn'
export const formatDate = date => {
// 超过 7 天显示日期
if (moment(date).isBefore(moment().subtract(7, 'days'))) {
return moment(date).format('YYYY-MM-DD')
} else {
// 1小时,xx 小时前,x 天前
return moment(date).from(moment())
}
}
// 方法二:原生js过滤 4分钟前
export const fnFormatDate = (time) => {
let ago, curTime, diff, int;
time = moment(time).valueOf()
time -= 0;
if (("" + time).length === 10) {
time *= 1000;
}
int = parseInt;
curTime = +new Date();
diff = curTime - time;
ago = "";
if (1000 * 60 > diff) {
ago = "刚刚";
} else if (1000 * 60 <= diff && 1000 * 60 * 60 > diff) {
ago = int(diff / (1000 * 60)) + "分钟前";
} else if (1000 * 60 * 60 <= diff && 1000 * 60 * 60 * 24 > diff) {
ago = int(diff / (1000 * 60 * 60)) + "小时前";
} else if (1000 * 60 * 60 * 24 <= diff && 1000 * 60 * 60 * 24 * 30 > diff) {
ago = int(diff / (1000 * 60 * 60 * 24)) + "天前";
} else if (1000 * 60 * 60 * 24 * 30 <= diff && 1000 * 60 * 60 * 24 * 30 * 12 > diff) {
ago = int(diff / (1000 * 60 * 60 * 24 * 30)) + "月前";
} else {
ago = int(diff / (1000 * 60 * 60 * 24 * 30 * 12)) + "年前";
}
return ago;
}
3.过滤今天、昨天
// 过滤今天 昨天 和前天
export const filterTextTime = time => {
let timeTxt = ''
const nowDate = new Date()
// 获取今天
let today = moment(nowDate).startOf('day')
// 或者
// let today = moment(nowDate).add(1,'days');
// 获取昨天
let yesToday = moment(nowDate).subtract(1, 'days').startOf('day')
// let today = moment(nowDate).add(-1,'days');
// 获取前天
let beforeYesToday = moment(nowDate).subtract(2, 'days').startOf('day')
// 比较
if (moment(time).isSame(today, 'day')) {
timeTxt = '今天'
} else if (moment(time).isSame(yesToday, 'day')) {
timeTxt = '昨天'
} else if (moment(time).isSame(beforeYesToday, 'day')) {
timeTxt = '前天'
} else {
timeTxt = moment(time).format('YYYY-MM-DD')
}
return timeTxt
}
4.过滤年龄
// 过滤年龄
export const filterBirth = (birthday) => {
// 方法一
const nowDate = new Date();
let date1 = moment(birthday)
let date2 = moment(nowDate)
return date2.diff(date1, 'year')
// 方法二
// let age;
// const nowDate = new Date();
// const birthDate = birthday ? new Date(birthday) : new Date();
// const nowY = nowDate.getFullYear();
// const birthY = birthDate.getFullYear();
// const nowM = nowDate.getMonth();
// const birthM = birthDate.getMonth();
// const nowD = nowDate.getDate();
// const birthD = birthDate.getDate();
// if (nowDate.getTime() < birthDate.getTime()) {
// age = 0;
// } else {
// if (nowY == birthY) {
// age = 0;
// } else {
// age = nowY - birthY;
// if (nowM < birthM) {
// age--;
// } else if (nowM == birthM && nowD < birthD) {
// age--;
// }
// }
// }
// return age;
}