从 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);
希望这会有所帮助。
我正在尝试使用 "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);
希望这会有所帮助。