【发布时间】:2022-01-06 23:14:28
【问题描述】:
我尽可能使用 UTC。现在我发现了以下奇怪的行为,我真的不明白发生了什么。如果有人可以提供建议,那就太好了。
注意:我在 Google Apps 脚本编辑器中编写代码。
我使用以下代码创建日期并以我的本地时区获取输出:
var testDate = Date.UTC(2022,0,1,0,0,0,0);
Logger.log(Utilities.formatDate(new Date(testDate), 'Europe/Berlin', 'dd.MM.yyyy hh:mm'));
结果是01.01.2022 01:00,正如预期的那样,因为“Europe/Berlin”比 UTC 晚 1 小时。因此,如果我希望输出为 01.01.2022 00:00,我会尝试以下操作:
var testDate = Date.UTC(2021,11,31,23,0,0,0);
Logger.log(Utilities.formatDate(new Date(testDate), 'Europe/Berlin', 'dd.MM.yyyy hh:mm'));
但我得到的结果是:01.01.2022 12:00
谁能提示我为什么我的期望是错误的?
(希望我的英语没问题。)
【问题讨论】:
-
Date.UTC(2021,11,31,23,0,0,0你真的是指 11 月 31 日吗?在我所在的地区,11 月只有 30 天。 -
月份参数从零开始(0 = 一月),因此 11 = 十二月。
-
` 'Europe/Berlin' 比 UTC 晚 1 小时 ` 你的意思是 ahead 吗?
-
@Kos 没错。翻译可能有点迷失
标签: javascript date google-apps-script timezone utc