使用 moment.js 将日期范围对象转换为 ISO-8601 格式
Convert date range object into ISO-8601 format using moment.js
我正在使用 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,
});
};
再见,如果您只需要将 setSelectedDayRange
转换为 toISOString
中的日期,您可以这样做:
let convertedDateFrom = moment(setSelectedDayRange.from).toISOString();
console.log("setSelectedDayRange", convertedDateFrom);
let convertedDateTo = moment(setSelectedDayRange.to).toISOString();
console.log("setSelectedDayRange", convertedDateTo);
Here 您的代码已修改。
我正在使用 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,
});
};
再见,如果您只需要将 setSelectedDayRange
转换为 toISOString
中的日期,您可以这样做:
let convertedDateFrom = moment(setSelectedDayRange.from).toISOString();
console.log("setSelectedDayRange", convertedDateFrom);
let convertedDateTo = moment(setSelectedDayRange.to).toISOString();
console.log("setSelectedDayRange", convertedDateTo);
Here 您的代码已修改。