第三方组件

时间处理-dayjs

  • 官方文档:Day.js · 中文文档 - 2kB 大小的 JavaScript 时间日期库
  • 安装:phpm install dayjs
  • 导包
    import dayjs from 'dayjs'; // 导入 dayjs 核心包
    import duration from 'dayjs/plugin/duration'; // 导入 duration 运行时长插件
    dayjs.extend(duration) // 注册 duration 运行时长插件
    
    • dayjs用于转换时间点
    • duration用于不同时间点(时间长度)之间的计算

1.获取时间

  • 获取此刻时间:dayjs()
  • 解析指定时间:dayjs('2026-02-14')

2.时间计算

  • 时间减法:dayjs("日期").subtract(时间,'时间单位')
  • 时间加发:dayjs("日期").add(时间,'时间单位')

3.时间比较

  • 日期2是否比日期1早dayjs("日期1").isAfter("日期2")
  • 日期2是否比日期1晚dayjs("日期2").isBefore("日期2")

4.格式化时间

  • .format("YYYY-MM-DD HH:mm:ss")
    • 时间格式可以自由拼接

5.时间差计算

  • 时间差计算需要依赖duration模块,在使用前必须先导包并注册模块
	import duration from 'dayjs/plugin/duration'; // 导入 duration 运行时长插件
	dayjs.extend(duration) // 注册 duration 运行时长插件
5.1 创建时间差
  • dayjs.duration({years: 年数, months: 天数, days: 天数, hours: 小时数, minutes: 分钟数, seconds: 秒数})
  • dayjs.duration({ hours: 2, minutes: 30 }):2小时30分钟
5.2 计算时间差
1.需要创建起始时间和终止时间的dayjs对象
const startTime = dayjs('2026-02-14 08:00'); // 上班时间(时间点) 
const endTime = dayjs('2026-02-14 12:30'); // 下班时间(时间点)

2.使用.diff 计算时间差
// 第一步:计算两个时间的差值,得到“时长”对象 
const workDuration = dayjs.duration(endTime.diff(startTime));
5.3 截取时长
  • 提取小时部分:.hours()
  • 提取分钟部分:.mintes()
  • 提取秒部分:seconde()
console.log('上班小时数:', workDuration.hours()); // 输出:4 
console.log('上班分钟数:', workDuration.minutes()); // 输出:30
5.4 汇总时长
  • 汇总小时部分:.asHours()
  • 汇总分钟部分:asMinutes()
  • 汇总秒部分:asSeconde()
console.log('上班总小时数:', workDuration.asHours()); // 输出:4.5 
console.log('上班总分钟数:', workDuration.asMinutes()); // 输出:270
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐