使用 JavaScript 获取 GMT 时间
使用 getUTCHours()
方法获取 GMT 时间,例如 new date().getUTCHours()
。 该方法根据通用时间返回日期的小时数,通用时间与 GMT 共享相同的当前时间。
// ✅ 获取 GMT 小时
const gmtHours = new Date().getUTCHours();
console.log(gmtHours); // 👉️ 8
// ✅ 将 GMT 时间格式化为 hh:mm:ss
function padTo2Digits(num) {
return num.toString().padStart(2, '0');
}
function getGMTTime(date = new Date()) {
return [
padTo2Digits(date.getUTCHours()),
padTo2Digits(date.getUTCMinutes()),
padTo2Digits(date.getUTCSeconds()),
].join(':');
}
console.log(getGMTTime()); // 👉️️ "08:15:23"
我们使用 getUTCHours
方法来获取特定日期的 GMT 时间。
该方法返回一个介于 0 和 23 之间的整数,表示根据 UTC 的日期小时数。
GMT 和 UTC 共享相同的当前时间。
它们之间的区别在于 GMT 是一个时区,而 UTC 是一个时间标准,是全球时区的基础。
UTC 和 GMT 不会因夏令时 (DST) 而改变,并且始终共享相同的当前时间。
我们可以使用任何可用的 getUTC* 方法,因为它们根据通用时间 (= GMT) 返回日期和时间组件。
在第二个示例中,我们将 GMT 时间格式化为 hh:mm:ss
。
// ✅
function padTo2Digits(num) {
return num.toString().padStart(2, '0');
}
function getGMTTime(date = new Date()) {
return [
padTo2Digits(date.getUTCHours()),
padTo2Digits(date.getUTCMinutes()),
padTo2Digits(date.getUTCSeconds()),
].join(':');
}
console.log(getGMTTime()); // 👉️️ "08:15:23"
可重用函数采用日期对象或默认为当前日期和时间,并返回格式为 hh:mm:ss 的 GMT 时间字符串。
getUTCHours
方法根据通用时间 (= GMT) 返回指定日期的小时 (0 - 23)。
getUTCMinutes
方法根据通用时间 (= GMT) 返回日期的分钟 (0 - 59)。
getUTCSeconds
方法根据通用时间 (= GMT) 返回日期的秒数 (0 - 59)。
如果需要使用任何其他 getUTC*
方法,例如 getUTCMonth
,访问 MDN 文档。
在函数中,我们确保将小时、秒和分钟显示为 2 位数字,即使它们小于 10。
默认情况下,如果任何值小于 10,则方法返回单个数字,这不是我们想要的。
如有必要,我们会填充结果并使用冒号分隔符将它们连接起来。
我们可以根据用例进行调整,例如在格式化字符串中包含年、月、日值。
这些方法中的每一个都有一个非 UTC 等效项,例如 getUTCFullYear
与 getFullYear
。
getUTC*
方法根据通用时间 (= GMT) 返回日期或时间部分,而 get*
方法根据本地时间(访问者计算机所在的时区)返回它们。
get*
方法会根据用户从何处访问您的站点返回不同的结果。
例如,如果我们将当地时间午夜 (00:00) 存储在数据库中,我们将不知道这是东京(日本)、巴黎(法国)、纽约(美国)等的午夜。这些都是相隔数小时的不同时刻。
为了保持一致性,当我们必须向用户呈现日期和时间时,应该主要使用本地时间,但将实际值存储在 UTC
(=GMT) 中。
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
如何在 JavaScript 中合并两个数组而不出现重复的情况
发布时间:2024/03/23 浏览次数:86 分类:JavaScript
-
本教程介绍了如何在 JavaScript 中合并两个数组,以及如何删除任何重复的数组。