日期{nan}反应本地

发布于 2025-01-18 04:32:49 字数 895 浏览 0 评论 0原文

我正在使用 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 }//
    

I'm using react native and I'm trying to convert my timestamp data to date but the output said "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);

Outputs

    console.log(dates) -----> //[1648703685000, 1648623600000]//
    
    console.log(sDate) ------> //Date { NaN }//
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

老旧海报 2025-01-25 04:32:49

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));

dates is an array of UNIX timestamps [1648703685000, 1648623600000] which you are trying to pass to the Date() constructor. But Date() does not take an array but can take a single timestamp as a parameter. You will have to loop over the dates to get the start and (presumably) end date parsed.

const dates = [1648703685000, 1648623600000]
const parsedDates = dates.map(date => new Date(date));
const [startD, endD] = parsedDates;

console.log("Start:", startD);
console.log("End:", endD);

BTW: You can do the above in one line if you want to:

const [startD, endD] = dates.map(date => new Date(date));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文