【发布时间】:2020-08-20 13:52:21
【问题描述】:
我正在使用this react based 日期范围选择器。它给了我一个setSelectedDayRange 作为from 和to 的对象,就像这样
from: {day: 3, month: 8, year: 2020}
to: {day: 8, month: 8, year: 2020}
我需要将以上内容转换为ISO-8601 format。由于我已经在我的项目中安装了 moment.js,我希望能够利用它。
问题是
-
如果我尝试这样做
setSelectedDayRange = moment(); let convertedDate = moment().toISOString(); console.log("setSelectedDayRange", convertedDate);
它只转换to 日期。
-
如果我尝试这样做
let convertedDate = moment(setSelectedDayRange).toISOString(); console.log("setSelectedDayRange", convertedDate);
最终转化为currentDate-1
handleDatePickerChange = (setSelectedDayRange) => {
console.log("initializing handleDatePickerChange()");
console.log("setSelectedDayRange", setSelectedDayRange);
// TODO
// convert the dates
setSelectedDayRange = moment();
let convertedDate = moment().toISOString();
console.log("setSelectedDayRange", convertedDate);
// let convertedDate = moment(setSelectedDayRange).toISOString();
// console.log("setSelectedDayRange", convertedDate);
this.setState({
selectedDayRange: setSelectedDayRange,
});
};
【问题讨论】:
-
如果您落后于 UTC,如果日期不包括时间戳,就会发生这种情况。它将假定给定日期为 00:00 UTC,如果您在美国(类似于 UTC-4),它将显示为前一天。
-
好的。得到那部分。我只想将
setSelectedDayRange的值转换为 ISO-8601
标签: javascript reactjs momentjs daterangepicker