javascript 函数 getUTCFullYear() 需要什么?

发布于 2024-08-02 02:53:51 字数 386 浏览 4 评论 0原文

javascript 中 getUTCFullYear() 是否与 getFullYear() 不同?

同样适用于:

getUTCMonth() 与 getMonth()

getUTCDate() 与 getDate()

我在这里遗漏了什么吗?

编辑:

请参阅getUTCFullYear() 文档

是否存在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心凉怎暖 2024-08-09 02:53:51

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.

苏璃陌 2024-08-09 02:53:51

是的,快过年了。 如果您的 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.

怀里藏娇 2024-08-09 02:53:51

您列出的函数本质上报告不同时区的时间,因此如果 getUTCFullYear()getFullYear() 不同,则为 12 月 31 日晚上如果您住在格林威治子午线以西。

例如,在您本地时区中,时间可能是晚上 9 点,但在 UTC 中,时间可能已经是 1 月 1 日凌晨 2 点,因此:

var d = new Date();
d.getFullYear() == 2009  //True
d.getUTCFullYear() == 2010  //True

这是令人困惑的,因为这些方法在 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 from getFullYear() 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:

var d = new Date();
d.getFullYear() == 2009  //True
d.getUTCFullYear() == 2010  //True

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.

南街九尾狐 2024-08-09 02:53:51

从 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文