📜  javascript 获取 UTC 时间 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:15.283000             🧑  作者: Mango

JavaScript 获取 UTC 时间

在 JavaScript 中,我们可以使用内置的 Date 对象来获取时间。大多数情况下,该对象返回的是本地时间。但是,在某些情况下,可能需要获取 UTC 时间,例如与其他系统进行通信。在本文中,我们将介绍如何使用 JavaScript 获取 UTC 时间。

获取当前 UTC 时间

要获取当前 UTC 时间,我们可以使用 Date 对象的 getUTC* 方法。其中 * 表示要获取的时间部分,例如年份、月份、日期、小时、分钟、秒钟等等。下面是一些示例:

const now = new Date();

const yearUtc = now.getUTCFullYear();
const monthUtc = now.getUTCMonth() + 1; // 注意月份要加 1
const dateUtc = now.getUTCDate();
const hourUtc = now.getUTCHours();
const minuteUtc = now.getUTCMinutes();
const secondUtc = now.getUTCSeconds();

console.log(`当前 UTC 时间是 ${yearUtc}-${monthUtc}-${dateUtc} ${hourUtc}:${minuteUtc}:${secondUtc}`);

上面的代码将输出当前 UTC 时间,例如:

当前 UTC 时间是 2022-1-24 4:13:29

注意,获取 UTC 时间和本地时间的方法名略有不同,例如 getUTCFullYear()getFullYear()。另外,月份要加 1,因为 getUTCMonth() 返回的是 0 到 11 之间的数字。

将本地时间转换为 UTC 时间

如果已经有本地时间的字符串或时间戳,我们可以使用 Date 对象的 UTC* 方法来将其转换为 UTC 时间。具体来说,我们可以先创建一个本地时间对象,然后使用 UTC* 方法获取其对应的 UTC 时间部分。下面是一个示例:

const localTimeString = '2022-01-24 12:34:56'; // 假设这是一个本地时间的字符串
const localTime = new Date(localTimeString); // 创建本地时间对象

const yearUtc = localTime.getUTCFullYear();
const monthUtc = localTime.getUTCMonth() + 1; // 注意月份要加 1
const dateUtc = localTime.getUTCDate();
const hourUtc = localTime.getUTCHours();
const minuteUtc = localTime.getUTCMinutes();
const secondUtc = localTime.getUTCSeconds();

console.log(`本地时间 ${localTimeString} 对应的 UTC 时间是 ${yearUtc}-${monthUtc}-${dateUtc} ${hourUtc}:${minuteUtc}:${secondUtc}`);

上面的代码将输出本地时间对应的 UTC 时间,例如:

本地时间 2022-01-24 12:34:56 对应的 UTC 时间是 2022-1-24 4:34:56

注意,使用 Date 对象创建本地时间对象时,要确保字符串格式正确。如果是时间戳,需要先将其转换为本地时间对象,例如:

const localTimestamp = 1643027696000; // 假设这是一个本地时间戳
const localTime = new Date(localTimestamp); // 创建本地时间对象

// ...

总结

在 JavaScript 中,我们可以使用 Date 对象获取 UTC 时间。要获取当前 UTC 时间,可以使用 getUTC* 方法,要将本地时间转换为 UTC 时间,可以先创建本地时间对象,然后使用 UTC* 方法。以上就是本文的全部内容,希望对你有所帮助。