问题描述
我正在使用this react based日期范围选择器。它给了我setSelectedDayRange
作为from
和to
这样的对象
from: {day: 3,month: 8,year: 2020}
to: {day: 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,});
};
Sandbox URL to mess around with it.
解决方法
请,如果您只需要将setSelectedDayRange
转换为toISOString
中的日期,则可以执行以下操作:
let convertedDateFrom = moment(setSelectedDayRange.from).toISOString();
console.log("setSelectedDayRange",convertedDateFrom);
let convertedDateTo = moment(setSelectedDayRange.to).toISOString();
console.log("setSelectedDayRange",convertedDateTo);
Here您的代码已修改。