使用 JavaScript 将日期转换为 GMT

在 JavaScript 中将错误对象转换为字符串

Convert a Date to GMT using JavaScript

使用该toUTCString()方法将日期转换为 GMT,例如
new Date().toUTCString(). 该方法使用 UTC 时区将日期转换为字符串,该时区与 GMT 共享相同的当前时间。

索引.js
const date = new Date(); // ✅ Get a String representing the given Date using UTC (= GMT) time zone. const result = date.toUTCString(); console.log(result); // 👉️ "Fri, 14 Jan 2022 17:30:20 GMT" // 👇️ returns UTC (=GMT) year of the date console.log(date.getUTCFullYear()); // 👉️ 2022 // 👇️ returns UTC (=GMT) month (0-11) // 0 is January, 11 is December console.log(date.getUTCMonth()); // 👉️ 0 // 👇️ returns UTC (=GMT) day of the month (1-31) console.log(date.getUTCDate()); // 👉️ 14 // 👇️ returns UTC (=GMT) Hour of the date console.log(date.getUTCHours()); // 👉️ 17 // 👇️ returns UTC (=GMT) Minutes of the date console.log(date.getUTCMinutes()); // 👉️ 30 // 👇️ returns UTC (=GMT) Seconds of the date console.log(date.getUTCSeconds()); // 👉️ 20
GMT 和 UTC 共享相同的当前时间。

它们的区别在于,GMT是一个时区,而UTC是一个时间标准,是世界范围内时区的基础。

UTC 和 GMT 不会因夏令时 (DST) 而改变,并且始终共享相同的当前时间。

我们使用
toUTCString
方法将日期转换为使用 GMT 时区的字符串。

索引.js
const date = new Date(); // ✅ Get a String representing the given Date using UTC (= GMT) time zone. const result = date.toUTCString(); console.log(result); // 👉️ "Fri, 14 Jan 2022 17:30:20 GMT"

您还可以使用getUTC*根据通用时间 (= GMT) 返回日期和时间组件的可用方法。

它们非常有用,使我们能够使用字符串连接以多种不同方式格式化日期和时间。
索引.js
const date = new Date(); console.log( [ padTo2Digits(date.getUTCHours()), padTo2Digits(date.getUTCMinutes()), padTo2Digits(date.getUTCSeconds()) ].join(':') ); // 👉️ "17:30:20" function padTo2Digits(num) { return num.toString().padStart(2, '0'); }

所有getUTC*方法都根据通用时间 (= GMT) 返回日期或时间部分。

您可以使用这些值以适合您的用例的方式格式化 GMT 日期。

请注意,
getUTCMonth
方法返回指定日期的月份作为从零开始的值(0 = 一月,1 = 二月,等等)

getUTC您可以通过访问
MDN 文档查看所有方法

这些方法中的每一个都有一个非 UTC 等效方法,例如
getUTCFullYear

getFullYear

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

这些get*方法根据用户访问您网站的位置返回不同的结果。

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

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

发表评论