gpt4 book ai didi

javascript - moment.js 被添加到数组中

转载 作者:行者123 更新时间:2023-12-02 21:57:56 26 4
gpt4 key购买 nike

我正在绞尽脑汁地思考为什么变量的对象内容被添加到我的数组中,而不是实际的 Date 对象

async function timeShift(dayWeek = 'weeks', num = 4) {
console.log('Timeshift Start');
formattedDate = moment(Date.parse(start_date))
let apptStartArr = [formattedDate]
let lastApptonArr = apptStartArr[apptStartArr.length - 1]
i = 1
while (lastApptonArr.isBefore(Date.now())) {
newStart = lastApptonArr.add(num, `${dayWeek}`).toDate().getTime()
apptStartArr.push(newStart)
console.log(`${i}, ${newStart}`);
i += 1
}
//Must pop the last array off and return
console.log(apptStartArr);
console.log(lastApptonArr);

return lastApptonArr
}

它产生以下结果

[ moment("2020-01-30T13:00:00.000"),
1568318400000,
1570737600000,
1573160400000,
1575579600000,
1577998800000,
1580418000000 ]

抱歉,代码很草率!

最佳答案

这是因为你的第一个值是一个时刻对象。您需要将其转换为时间戳

let apptStartArr = [formattedDate]

应该是

let apptStartArr = [formattedDate.toDate().getTime()]

如果您想要 Date 对象而不是时间戳数字,请不要调用 getTime()

let apptStartArr = [formattedDate.toDate()];

还有

newStart = lastApptonArr.add(num, `${dayWeek}`).toDate();

关于javascript - moment.js 被添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59957441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com