Newer
Older
smartwell_front / src / utils / dayjs.ts
liyaguang on 16 Apr 1 KB 虚拟表格组件封装
import dayjs from 'dayjs'
import 'dayjs/locale/zh-cn'
import duration from 'dayjs/plugin/duration'

dayjs.locale('zh-cn')

export default dayjs

dayjs.extend(duration)
// 计算日期差异并返回格式化字符串
export function getDateDiff(startDateString: string, endDateString: string) {
  // 创建起始日期和结束日期对象
  const startDate = dayjs(startDateString, 'YYYY-MM-DD HH:mm:ss')
  const endDate = dayjs(endDateString, 'YYYY-MM-DD HH:mm:ss')

  // 计算日期差异
  const diff = endDate.diff(startDate)
  console.log(startDateString, endDateString)
  // 提取差异的时间单位
  const duration = dayjs.duration(diff)
  const years = duration.years()
  const months = duration.months()
  const days = duration.days()
  const hours = duration.hours()
  const minutes = duration.minutes()
  const seconds = duration.seconds()
  console.log(seconds, 'seconds')
  // 格式化为字符串
  const formattedDiff = `${years > 0 ? years : ''}${years > 0 ? '年' : ''}${months > 0 ? months : ''}${months > 0 ? '个月' : ''}${days > 0 ? days : ''}${days > 0 ? '天' : ''}${hours > 0 ? hours : ''}${hours > 0 ? '小时' : ''}${minutes > 0 ? minutes : ''}${minutes > 0 ? '分' : ''}${seconds > 0 ? seconds : ''}${seconds > 0 ? '秒' : ''}`
  console.log(formattedDiff, 'formattedDiff')
  return formattedDiff
}