传递变量作为 Date.UTC() 的参数
Passing a variable as the arguments for Date.UTC()
我想将 Date.UTC() 的参数作为存储在变量中的数组而不是一系列参数传递。
let dateArray = [2019, 0, 1, 0];
let utcTime = new Date(Date.UTC(dateArray));
returns NaN
当然这是行不通的,因为对象只接受一个接一个的参数。像这样;
let utcTime = new Date(Date.UTC(dateArray[0], dateArray[1], dateArray[2], dateArray[3]);
returns 1546300800000
问题是无论变量中数组的长度如何,我都希望它能够工作。
let newYear = [2020];
let christmasDay = [2019,11,25];
let lunchTime = [2019,11,25,12,30];
有没有办法将这些不同的变量作为 Date 对象的参数传递?
如何使用 ...
运算符:
[
[2020],
[2019, 11, 25],
[2019, 11, 25, 12, 30]
].forEach(function(dateArray) {
let utcTime = new Date(Date.UTC(...dateArray));
console.log(JSON.stringify(dateArray) + " becomes " + utcTime.toISOString());
});
我想将 Date.UTC() 的参数作为存储在变量中的数组而不是一系列参数传递。
let dateArray = [2019, 0, 1, 0];
let utcTime = new Date(Date.UTC(dateArray));
returns NaN
当然这是行不通的,因为对象只接受一个接一个的参数。像这样;
let utcTime = new Date(Date.UTC(dateArray[0], dateArray[1], dateArray[2], dateArray[3]);
returns 1546300800000
问题是无论变量中数组的长度如何,我都希望它能够工作。
let newYear = [2020];
let christmasDay = [2019,11,25];
let lunchTime = [2019,11,25,12,30];
有没有办法将这些不同的变量作为 Date 对象的参数传递?
如何使用 ...
运算符:
[
[2020],
[2019, 11, 25],
[2019, 11, 25, 12, 30]
].forEach(function(dateArray) {
let utcTime = new Date(Date.UTC(...dateArray));
console.log(JSON.stringify(dateArray) + " becomes " + utcTime.toISOString());
});