基本用法
- 确保项目中已安装
Moment.js
:
npm install moment
- 使用
moment.duration()
和 diff()
方法计算时间差,并提取天、时、分、秒:
import moment from 'moment';
function formatTimeDuration(startTime, endTime) {
const start = moment(startTime);
const end = moment(endTime);
const diffMs = end.diff(start);
const duration = moment.duration(diffMs);
const days = duration.days();
const hours = duration.hours();
const minutes = duration.minutes();
const seconds = duration.seconds();
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);
- 若需要更友好的显示(例如补零、单位缩写)
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);
const end = moment(endTime, format);