美文网首页
moment.js 格式化显示时间差

moment.js 格式化显示时间差

作者: 云上笔记 | 来源:发表于2022-06-30 18:33 被阅读0次

moment.js 格式化显示时间差

项目中有个字段需要计算两个时间的时间差,并且按照x天 x 小时 x 分钟显示,如

2022/06/30 09:00:00
2022/06/30 12:30:00
3 小时 30分钟

之前已经在项目中引入了moment.js,接下来用其中的一些方法封装一个可以得到目标字符串的函数。

  /**
   * 将时间差转为直观的时分秒格式
   * @param start: 开始时间
   * @param end: 结束时间
   */
  private calcRunningTime(start, end): string {
    let result: string;
    const startTime = moment(new Date(start));
    const endTime = moment(new Date(end));
    const diff = endTime.diff(startTime, 'minutes');

    const durationTime = moment.duration(diff, 'minutes');
    const days = durationTime.days();
    const hours = durationTime.hours();
    const minutes = durationTime.minutes();

    result = `${minutes}分钟 `;
    if (hours > 0) {
      result = `${hours}小时 ${result}`;
    }
    if (days > 0) {
      result = `${days}天 ${result}`;
    }
    return result;
  }


相关文章

网友评论

      本文标题:moment.js 格式化显示时间差

      本文链接:https://www.haomeiwen.com/subject/jtzfbrtx.html