迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 获取 GMT 时间

作者:迹忆客 最近更新:2022/09/12 浏览次数:

使用 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 等效项,例如 getUTCFullYeargetFullYear

getUTC* 方法根据通用时间 (= GMT) 返回日期或时间部分,而 get* 方法根据本地时间(访问者计算机所在的时区)返回它们。

get* 方法会根据用户从何处访问您的站点返回不同的结果。

例如,如果我们将当地时间午夜 (00:00) 存储在数据库中,我们将不知道这是东京(日本)、巴黎(法国)、纽约(美国)等的午夜。这些都是相隔数小时的不同时刻。

为了保持一致性,当我们必须向用户呈现日期和时间时,应该主要使用本地时间,但将实际值存储在 UTC (=GMT) 中。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便