【Moment.js】计算两个时间的时间差,并将结果转换为 天、时、分、秒 格式
Moment.js 计算两个时间的时间差,并将结果转换为 天、时、分、秒 格式
·
文章目录
基本用法
- 确保项目中已安装
Moment.js
:
npm install moment
- 使用
moment.duration()
和diff()
方法计算时间差,并提取天、时、分、秒:
import moment from 'moment';
function formatTimeDuration(startTime, endTime) {
// 创建 Moment 时间对象
const start = moment(startTime);
const end = moment(endTime);
// 计算时间差(毫秒)
const diffMs = end.diff(start);
// 转换为 Duration 对象
const duration = moment.duration(diffMs);
// 提取天、时、分、秒
const days = duration.days();
const hours = duration.hours();
const minutes = duration.minutes();
const seconds = duration.seconds();
// 格式化为字符串(例如:2天3小时15分钟30秒)
return `${days}天${hours}小时${minutes}分钟${seconds}秒`;
}
- 使用示例
const startTime = '2024-01-01 08:30:00';
const endTime = '2024-01-03 12:45:30';
const result = formatTimeDuration(startTime, endTime);
console.log(result); // 输出:2天4小时15分钟30秒
- 若需要更友好的显示(例如补零、单位缩写)
// 补零函数(例如:3分钟5秒 → 03分05秒)
const padZero = (num) => num.toString().padStart(2, '0');
const time = `${days}天${padZero(hours)}小时${padZero(minutes)}分${padZero(seconds)}秒`
- 处理不同时间格式
const startTime = '2024/01/01 08-30-00';
const endTime = '2024-01-03 12:45:30';
// 年-月-日 时-分-秒
const format = 'YYYY-MM-DD HH-mm-ss';
const start = moment(startTime, format); // 2024-01-01 08-30-00
const end = moment(endTime, format);

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)