【发布时间】:2019-12-05 12:10:42
【问题描述】:
问题是,我想让 日期数组成为一个具有键值对的对象。这是数组:
let array1 = ["2020 01 12T19:00:00",
"2019 12 30T19:00:00",
"2019 12 27T19:00:00",
"2019 12 25T19:00:00",
"2019 12 06T11:00:00",
"2019 12 02T19:00:00",
"2019 12 02T07:00:00",
"2020 01 25T17:00:00",
"2020 01 13T23:00:00",
"2019 10 28T17:00:00",
"2019 05 27T18:00:00",
"2019 02 28T17:00:00",
"2019 02 27T18:00:00",
"2019 01 28T17:00:00"]
然后,我想把它转换成://目前我在 react 上做这个
let bookedDates = {};
if(array1.length !== 0) {
array1.map(el => {
bookedDates = { moment(el, 'YYYY-MM-DDTHH:mm:ssZ').format('YYYY MM DD') : moment(el, 'YYYY-MM-DDTHH:mm:ssZ').format('h:mm A');
}
}
注意我要输出的是 {DATE:TIME}。 我不希望将它们单独插入对象中,因为如果特定数据与键(日期)匹配,我需要值(时间)。然后,我会这样做:
if (Object.keys(bookedDates) === (moment(value ))) { // got from the data outside
console.log(moment(bookedDates, 'YYYY-MM-DDTHH:mm:ssZ').format('h:mm A'));
}
请帮忙! :( 或者如果您有任何建议,请随时发布
【问题讨论】:
-
解析的格式字符串不正确,为了匹配样本数据,它应该是
moment(el, 'YYYY MM DDTHH:mm:ss'),即日期部分之间没有破折号,没有Z。
标签: javascript date object time