moment.js 格式化显示时间差

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;
  }


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容