使用 JavaScript 获取 UTC 时间戳
Get a UTC timestamp using JavaScript
使用该getTime()
方法获取 UTC 时间戳,例如
new Date().getTime()
. 该方法返回自 Unix 纪元以来的毫秒数,并且始终使用 UTC 表示时间。从任何时区调用该方法都会返回相同的 UTC 时间戳。
索引.js
const utcTimestamp = new Date().getTime(); console.log(utcTimestamp); // 👉️ 16422369....
我们使用
Date.getTime
方法获取 UTC 时间戳。
该方法返回自 Unix 纪元以来的毫秒数,并且始终使用 UTC 表示时间。
如果用户从一个时区访问您的网站,该getTime()
方法将返回与任何其他时区相同的结果。
该getTime()
方法可用于将日期和时间分配给另一个Date
对象。
索引.js
const utcTimestamp = new Date().getTime(); console.log(utcTimestamp); // 👉️ 16422369.... const copy = new Date(); copy.setTime(utcTimestamp); console.log(utcTimestamp === copy.getTime()); // 👉️ true
如果您需要日期的 UTC 表示,请使用该toUTCString()
方法。
索引.js
const utcDate = new Date().toUTCString(); console.log(utcDate); // 👉️ "Sat, 15 Jan 2022 09:02:48 GMT"
toUTCString
方法根据 UTC 将日期转换为字符串。
请注意,GMT 和 UTC 共享相同的当前时间。
它们的区别在于,GMT是一个时区,而UTC是一个时间标准,是世界范围内时区的基础。
UTC 和 GMT 不会因夏令时 (DST) 而改变,并且始终共享相同的当前时间。
如果您需要 UTC 中的任何日期和时间组件,请使用可用的
getUTC*
方法。
它们非常有用,使我们能够使用字符串连接以多种不同方式格式化日期和时间。
索引.js
const date = new Date(); // 👇️ returns UTC Hour of the date console.log(date.getUTCHours()); // 👉️ 7 // 👇️ returns UTC Minutes of the date console.log(date.getUTCMinutes()); // 👉️ 10 // 👇️ returns UTC Seconds of the date console.log(date.getUTCSeconds()); // 👉️ 57 // 👇️ returns UTC year of the date console.log(date.getUTCFullYear()); // 👉️ 2022 // 👇️ returns UTC month (0-11) // 0 is January, 11 is December console.log(date.getUTCMonth()); // 👉️ 0 // 👇️ returns UTC day of the month (1-31) console.log(date.getUTCDate()); // 👉️ 15
所有getUTC*
方法都根据通用时间返回日期或时间部分。
请注意,
getUTCMonth
方法返回指定日期的月份作为从零开始的值(0 = 一月,1 = 二月,等等)
您可以使用这些值以适合您的用例的方式格式化 UTC 日期。
如果您需要完整的getUTC*
方法列表,请访问
MDN 文档。
这些方法中的每一个都有一个非 UTC 等效方法,例如
getUTCFullYear
与
getFullYear。
这些getUTC*
方法根据世界时间返回日期或时间部分,而这些get*
方法根据本地时间(访问者计算机所在的时区)返回它们。
这些get*
方法根据用户访问您网站的位置返回不同的结果。
例如,如果您在数据库中存储当地时间午夜 (00:00),您将不知道在东京(日本)、巴黎(法国)、纽约(美国)等地是否是午夜。这些都是相隔数小时的不同时刻。
为了保持一致性,当您必须向用户呈现日期和时间时,您应该主要使用本地时间,但以 UTC 格式存储实际值。