getFullYear 在一年的第一天返回前一年
我正在尝试仅从日期中提取年份,但由于某种原因,它在一年的第一天返回了前一年.
I'm trying to pull just the year out of a date, but for some reason on the first day of the year its returning the year previous.
new Date('2012-01-01').getFullYear()
将返回2011"并且
new Date('2012-01-02').getFullYear()
将返回2012"
关于我做错了什么有什么好的想法吗?或对此进行修复会有所帮助.
Any good ideas on what I'm doing wrong? or a fix for this would be helpful.
推荐答案
new Date('2012-01-01')
将解析日期,假设它是 UTC.创建的 Date
对象包含您的时区,因此在打印 getYear()
的结果时会考虑到这一点.如果你在 GMT-anything,那意味着你要回到前一年.您可以通过调用 Date.prototype.getUTCFullYear()
忽略时区并仅处理 UTC.
new Date('2012-01-01')
will parse the date assuming it's in UTC. The created Date
object incorporates your timezone, so it will take that into account when printing out the result of getYear()
. If you're in GMT-anything, that means you're going back to the previous year. You can ignore timezones and deal with just UTC by calling Date.prototype.getUTCFullYear()
.
相关文章