我们在开发前端项目时,经常需要对日期时间进行各种格式化显示,比如将其转换成前天、昨天、今天、明天、后天,其余日期转换成周几展示。具体源码如下:

函数:

getDayOrWeek(date) {
  if (date == null) return ''
                
  const dayArr = ['前天', '昨天', '今天', '明天', '后天']
                
  // 星期数组
  const weekArr = ['日', '一', '二', '三', '四', '五', '六']
                
  // 获取传入日期与当前日期相差的天数,一天 86400000 毫秒
  const diffTime = (date.setHours(0, 0, 0, 0) - new Date().setHours(0, 0, 0, 0)) / 86400000
                
  // 获取“前天/昨天/今天/明天/后天”,若不在这些里面则显示星期
  return dayArr[diffTime + 2] || `周${weekArr[date.getDay()]}`
}

使用:

console.log(getDayOrWeek(new Date('2023/1/29 9:20:20')))
console.log(getDayOrWeek(new Date('2023/01/29 09:20:20')))
console.log(getDayOrWeek(new Date('2023-1-29 9:20:20')))
console.log(getDayOrWeek(new Date('2023-01-29 09:20:20')))
console.log(getDayOrWeek(new Date(2023, 0, 29, 9, 20, 20)))
如果觉得我的文章对你有用,请点个赞