我正在使用在https://material-ui-pickers.dev/ 上找到的日期/时间选择器,并希望将它与 moment.js 库一起使用。我有一些问题。我有一个收集开始时间和结束时间的表格。我想使用 moment.js 的“diff”方法来计算小时数的差异。无论我输入什么日期和时间,我都会收到“20.4234254”或类似信息。
状态保存并由 moment.js 管理的日期格式为:“Wed Jul 08 2020 21:51:23 GMT-0700(太平洋夏令时间)”。
import React, { useState, useEffect } from 'react';
import MomentUtils from '@date-io/moment';
import {
DatePicker,
TimePicker,
DateTimePicker,
MuiPickersUtilsProvider,
} from '@material-ui/pickers';
import moment from 'moment';
function DateFormField() {
const [startDate, startTime] = useState(new Date());
const [endDate, endTime] = useState(new Date());
const [duration, setDuration] = useState("");
const timeCalc = (startDate, endDate) => {
var start = moment(startDate);
var end = moment(endDate);
console.log(end.diff(start, "hours", true) + ' hours');
}
return (
<MuiPickersUtilsProvider utils={MomentUtils}>
<DateTimePicker value={startDate} onChange={startTime} helperText="Start Time" />
<DateTimePicker value={endDate} onChange={endTime} helperText="End Time" />
<button onClick={timeCalc}>Time Duration: {duration}</button>
</MuiPickersUtilsProvider>
);
}
export default DateFormField;