日期 { NaN } React Native
Date { NaN } React Native
我正在使用 React Native,我正在尝试将我的时间戳数据转换为日期,但输出显示“Date { NaN }”
const [eventData1, setEventData1] = useState({});
useEffect(() => {
database()
.ref('path')
.on('value', snapshot => {
if (snapshot.val() !== null) {
setEventData1({...snapshot.val()});
} else {
setEventData1({});
}
});
return () => {
setEventData1([]);
};
}, []);
const dates = Object.keys(eventData1).map(
id => eventData1[id].start_DATE * 1000,
);
const sDate = new Date(dates);
产出
console.log(dates) -----> //[1648703685000, 1648623600000]//
console.log(sDate) ------> //Date { NaN }//
dates
是一组 UNIX 时间戳 [1648703685000, 1648623600000]
,您正试图将其传递给 Date()
构造函数。但是 Date()
不采用数组但可以采用单个时间戳作为参数。您必须遍历日期才能解析开始日期和(大概)结束日期。
const dates = [1648703685000, 1648623600000]
const parsedDates = dates.map(date => new Date(date));
const [startD, endD] = parsedDates;
console.log("Start:", startD);
console.log("End:", endD);
顺便说一句:如果您愿意,可以在一行中完成上述操作:
const [startD, endD] = dates.map(date => new Date(date));
我正在使用 React Native,我正在尝试将我的时间戳数据转换为日期,但输出显示“Date { NaN }”
const [eventData1, setEventData1] = useState({});
useEffect(() => {
database()
.ref('path')
.on('value', snapshot => {
if (snapshot.val() !== null) {
setEventData1({...snapshot.val()});
} else {
setEventData1({});
}
});
return () => {
setEventData1([]);
};
}, []);
const dates = Object.keys(eventData1).map(
id => eventData1[id].start_DATE * 1000,
);
const sDate = new Date(dates);
产出
console.log(dates) -----> //[1648703685000, 1648623600000]//
console.log(sDate) ------> //Date { NaN }//
dates
是一组 UNIX 时间戳 [1648703685000, 1648623600000]
,您正试图将其传递给 Date()
构造函数。但是 Date()
不采用数组但可以采用单个时间戳作为参数。您必须遍历日期才能解析开始日期和(大概)结束日期。
const dates = [1648703685000, 1648623600000]
const parsedDates = dates.map(date => new Date(date));
const [startD, endD] = parsedDates;
console.log("Start:", startD);
console.log("End:", endD);
顺便说一句:如果您愿意,可以在一行中完成上述操作:
const [startD, endD] = dates.map(date => new Date(date));