为什么.getFullYear()返回2017年的日期“2018-01-01”

时间:2018-02-08 18:31:26

标签: javascript

我注意到如果我将“2018-01-01”转换为日期格式,我会得到2017,如果我使用.getFullYear()方法,则返回new Date("2018-01-01").getFullYear()。这是为什么?

2017返回var d = new Date("2018-01-01"); console.log(d.getFullYear());

var array1 = [{ Name: 'Roger', Country: 'Spain' }, { Name: 'Tiger', Counry: 'USA' }, { Name: 'Micheal', Country: 'USA' }],
    array2 = [{ Name: 'sachin', Country: 'India' }, { Name: 'Roger', Country: 'Spain' }],
    hash = Object.create(null),
    result = [array1, array2].reduce(function (r, a) {
        a.forEach(function (o) {
            var key = ['Name', 'Country'].map(k => o[k]).join('|');
            if (!hash[key]) {
                r.push(o);
                hash[key] = true;
            }
        });
        return r;
    }, []);

console.log(result);

1 个答案:

答案 0 :(得分:-1)

这可能是由于您当地的时区,请尝试使用getUTCFullYear()。