从 AsyncStorage 读取、解析数组、将字符串转换为日期对象

Read from AsyncStorage, Parse Array, Convert String to Date object

我正在尝试使用 "reminders" 键从异步存储中读取数组。

问题是 JSON.parse 无法将数组中元素的 'time' 键转换为日期对象。

我需要使用 setReminders()

从存储中读取、解析并分配给提醒状态
// EXAMPLE DATA IN ASYNC STORAGE
[{day: 'Monday', time: '2020-04-03T15:17:07.554Z', status: false},
{day: 'Friday', time: '2020-04-03T15:17:07.951Z', status: true},]


// LOAD REMINDERS
  useEffect(readReminders, []);

  function readReminders() {
   AsyncStorage.getItem('reminders').then(value =>setReminders(value));
}

您可以使用 Date.parse(string)new Date(string) 从字符串中解析日期,例如:

function readReminders() {
   AsyncStorage.getItem('reminders').then(values => {
      const reminders = values.map(item => {
         return {
           ...item,
           time: new Date(item.time)
         }
      });
   });
}

我添加了与日期相同的问题。尝试使用 moment 而不是 new Date()... 'npm 安装时刻 import moment from "moment"; const time= '2020-04-03T15:17:07.554Z'; const todate= moment(time); 希望这会有所帮助。