Skip to main content

格式化日期节点

// 日期时间格式化
// 用户传入时间例如2021-07-10 13:00:33
// 如果传入时间距离当前时间超过24小时则展示XX天前
// 如果传入时间距离当前时间超过1小时但不超过24小时,则展示XX小时前
// 如果传入时间距离当前时间不超过1小时,则展示XX分前
// 如果传入时间距离当前时间不超过1分钟,则展示刚刚
export const formatTime = date => {
const currentTime = dayjs();
const targetTime = dayjs(date);
const ms = targetTime.isAfter(currentTime)
? dayjs.duration(targetTime.diff(currentTime))
: dayjs.duration(currentTime.diff(targetTime));
const days = Math.floor(ms.asDays());
const hours = Math.floor(ms.asHours());
const minutes = Math.floor(ms.asMinutes());

if (hours >= 24) {
return `${days}天前`;
} else if (hours > 0) {
return `${hours}小时前`;
} else if (minutes > 0) {
return `${minutes}分前`;
} else {
return '刚刚';
}
};
// 日期时间格式化(MM-DD)
// 用户传入时间例如2021-07-10 13:00:33
// 导出时间 07-10
export const formatDateMMDD = str => {
return dayjs(str).format('MM-DD');
};
// 日期时间格式化(HH:mm)
// 用户传入时间例如2021-07-10 13:00:33
// 导出时间 13:00
export const formatDateHHMM = str => {
return dayjs(str).format('HH:mm');
};
// 日期转换(MM-DD HH:mm)
// 传入时间例如:2021-11-18 20:38:23
// 导出时日期: 11-18 20:38
function dateFormat(str) {
if (!str) {
return str;
}
const date = str.split(' ')[0].substr(5,5)
const time = str.split(' ')[1].substr(0,5)
return date+' '+time;
}

YYYYMMDD

 function dateFormat() {
let nowDate = new Date()
let year = nowDate.getFullYear()
let month = nowDate.getMonth() + 1
let day = nowDate.getDate()
if (month < 10) month = '0' + month
if (day < 10) day = '0' + day
return year+month+day
}
console.log(dateFormat())

方法二

Date.prototype.yyyymmdd = function() {
var mm = this.getMonth() + 1; // getMonth() is zero-based
var dd = this.getDate();

return [this.getFullYear(),
(mm>9 ? '' : '0') + mm,
(dd>9 ? '' : '0') + dd
].join('');
};

var date = new Date();
date.yyyymmdd();

链接

JavaScript - 获取时间并且转换成yyyy-MM-dd形式 JS日期对象获取YYYYMMDD格式 js怎么格式化日期 js 日期时间的格式化 JS日期格式化转换方法