我正在努力争取10周的开始和结束.但它在所有周都打印相同的值.我找不到问题.谢谢


week_milli_seconds = []
week_time = []
startDate = new Date(2020, 7, 17, 0, 0, 0)
startTime = startDate.getTime()
endTime = startTime + (week_milli_seconds - 1)

for( let i = 0; i < 10; i++) {
week_time.push({Start : startTime, End: endTime})
startTime += week_milli_seconds
endTime += week_milli_seconds
}

// console.log(startTime)
// console.log(endTime)

totalStartTime = new Date(2020, 7, 17, 0, 0, 0)
totalEndtime = Date.now()

console.log(week_time)
{ Start: 1597636800000, End: 1597636799999 },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' },
{ Start: '1597636800000', End: '1597636799999' }
]

这是我得到的结果,但我试图在不同的几周内获得不同的值。我尝试了+=运算符,但它不起作用。提前感谢

一个空数组被分配给week_milli_seconds。当给定一个数字和一个数组时,+运算符将数组的每个成员和数字连接到一个字符串:

12 + [1,2,3] // "121,2,3"

由于您的数组是空的,这相当于将一个数字连接到""

您应该将week_milli_seconds初始化为604 800 000 (1000 * 3600 * 24 * 7)

week_milli_seconds是一个空数组。因此,+=运算符试图向时间添加一个空数组,该数组只是再次返回原始时间,但作为字符串。将其更改为week_milli_seconds = 604800000

首先,week_milli_seconds = []是一个数组,但您将其添加到不同的数字中,我猜您希望将其设置为一周内的总毫秒数,以实现

week_milli_seconds = 1000 * 60 * 60 * 24 * 7

我不太熟悉日期库,但假设startDate.getTime()返回一个类似于Date.now的long类型的日期字符串,但相对于那个时间,那么它现在应该可以工作了

您从未设置过变量week_milli_seconds,那么它该如何工作呢?你必须给它一个值,这样你就可以用这个值增加或减少另一个变量。

问题是week_milli_conds是一个数组。请考虑为它指定一些值,而不是一个空数组。

以下代码应该可以工作。

let week_milli_seconds = 604800000
let week_time = []
let startDate = new Date(2020, 7, 17, 0, 0, 0)
let startTime = startDate.getTime()
let endTime = startTime + (week_milli_seconds - 1)

for( let i = 0; i < 10; i++) {
week_time.push({Start : startTime, End: endTime})
startTime += week_milli_seconds
endTime += week_milli_seconds
}


console.log(week_time)

相关内容

最新更新