使用 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) 中。

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 使用 JavaScript 获取 GMT 时间