getFullYear在一年的第一天返回年份

med*_*rts 4 javascript coffeescript

我想把这一年推出一个日期,但出于某种原因,在一年的第一天它回到了前一年.

new Date('2012-01-01').getFullYear()
Run Code Online (Sandbox Code Playgroud)

将返回'2011'和

new Date('2012-01-02').getFullYear()
Run Code Online (Sandbox Code Playgroud)

将返回'2012'

关于我做错了什么好主意?或者解决这个问题会有所帮助.

akh*_*aku 8

new Date('2012-01-01')将以UTC格式解析日期.创建的Date对象包含您的时区,因此在打印出结果时会考虑到这一点getYear().如果你在GMT什么的,这意味着你要回到去年.您可以忽略时区并通过调用处理UTC Date.prototype.getUTCFullYear().