1

我试图弄清楚如何在 axios 调用中使用 LUXON 转换我的数据库的日期,这可能还是我应该在数据库数据本身中更改它?

下面是我的代码:

 const onClickDay = (date) => {
        // setMonth(date.getMonth() + 1);
        // setDay(date.getDate());
        // setyear(date.getFullYear());
    
        getAllData().then((res) => {
          setSave(res[1]);
          setExpense(res[2]);
    
          const getSaveDates = save.map((item) => {
            const d = item.date;
            const saveConverted = DateTime.fromISO(d).toLocaleString();
          });
        });
        console.log(save);
      };

我稍后在渲染时对其进行了转换,但是,我还使用react-calendar作为组件,并尝试预先获取要转换的日期,以便我的 onClick 处理程序在其受尊重的日期渲染日期。

截至目前,数据采用 ISO-8601 日期格式,即 2020-12-21T20:06:52+0000

也许你们有更多的经验?请帮忙!提前致谢!

4

2 回答 2

0

对于一些迷失的灵魂,我解决了我的部分问题...

     const onClickDay = (date) => {
    // setMonth(date.getMonth() + 1);
    // setDay(date.getDate());
    // setyear(date.getFullYear());
    getAllData().then((res) => {
      setSave(res[1]);
      setExpense(res[2]);
    });
    const getSaveDates = save.map((item) => {
      const d = item.date;
      const saveConverted = DateTime.fromISO(d).toLocaleString();
      return { ...item, date: saveConverted };
    });
    const getExpenseDate = expense.map((item) => {
      const d = item.date;
      const expenseConverted = DateTime.fromISO(d).toLocaleString();
      return { ...item, date: expenseConverted };
    });
    setData([getExpenseDate, getSaveDates]);
  };
  console.log(data);
于 2020-12-22T08:39:02.213 回答
0

根据这个链接

Date() 构造函数有四种基本形式:

  1. 无参数
  2. 时间值或时间戳编号
  3. 时间戳字符串
  4. 单个日期和时间组件值

所以我认为您可以使用以下代码解决您的问题:

const getSaveDates = save.map((item) => {
    const d = new Date(item.date)
    const saveConverted = d.toLocaleString();
});
于 2020-12-22T08:20:27.520 回答