javascript 函数 getUTCFullYear() 需要什么?
javascript 中 getUTCFullYear() 是否与 getFullYear() 不同?
同样适用于:
getUTCMonth() 与 getMonth()
getUTCDate() 与 getDate()
我在这里遗漏了什么吗?
编辑:
是否存在 getUTCFullYear() 与 JavaScript 中的 getFullYear() 不同的实际情况?
Is there any real case where getUTCFullYear() differs from getFullYear() in javascript?
The same goes for:
getUTCMonth() vs getMonth()
getUTCDate() vs getDate()
Am I missing something here?
EDIT:
See getUTCFullYear() documentation.
Is there any real case where getUTCFullYear() differs from getFullYear() in javascript?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
getUTC...() 方法返回 UTC 时区的日期和时间,而其他函数返回运行脚本的计算机的本地时区的日期和时间。
有时,使用本地时区的日期和时间会很方便,有时,使用独立于计算机本地时区的时区的日期和时间会很方便。
JavaScript 中有多种方法可以在时区之间进行转换,但它们很麻烦。
所以我想这只是为了方便。
The getUTC...() methods return the date and time in the UTC timezone, while the other functions return the date and time in the local timezone of the computer that the script is running on.
Sometimes it's convenient to have the date and time in the local timezone, and sometimes it's convenient to have the date and time in a timezone that's independent of the computer's local timezone.
There are ways to convert between timezones in JavaScript, but they're cumbersome.
So, I guess it's just for convenience.
是的,快过年了。 如果您的 TZ 为 -12,则该值在 12 月 31 日、上午 12:00 和午夜之间有所不同。
Yes, around new year. If your TZ is -12, the value differs between 31. December, 12:00am and midnight.
您列出的函数本质上报告不同时区的时间,因此如果
getUTCFullYear()
与getFullYear()
不同,则为 12 月 31 日晚上如果您住在格林威治子午线以西。例如,在您本地时区中,时间可能是晚上 9 点,但在 UTC 中,时间可能已经是 1 月 1 日凌晨 2 点,因此:
这是令人困惑的,因为这些方法在
Date
对象上运行,而不是报告当前 UTC 时间。 但该方法会说,如果这是这里的时间,那么 UTC 时区是哪一年。 因此,两种方法报告的年份的 364.75 天是相同的。The functions you list essentially report the time in different timezones, so to have a case where
getUTCFullYear()
will differ fromgetFullYear()
it will be on evening of the 31st December if you live West of the Greenwich Meridian.For example, in you local timezone the time could be 9pm but in UTC it might already be 2am on 1st January so:
It is confusing since the methods operate on a
Date
object rather than reporting the current UTC time. But the method says, if this is the time here, what year is it in the UTC timezone. So for 364.75 days of the years reported by the two methods will be the same.从 12 月 31 日到 1 月 1 日,这种情况在世界不同地区的不同时间发生。 因此,UTC 时间将与新西兰的当地时间不同 - 因此在某些时候 getFullYear() 将与 getUTCFullYear() 相差 1。
As 31 December goes to 1 January, this happens at different times in different parts of the world. Hence, the UTC time will be different from e.g. the local time in New Zealand - so at some point getFullYear() will differ from getUTCFullYear() by 1.