如何将 JavaScript 日期转换为 UTC?


在本教程中,我们将学习如何将日期转换为UTCUTC的全称是协调世界时,它是一个在每个国家都值得考虑的标准时间。

让我们通过示例了解将日期转换为 UTC 的必要性。您创建了聊天应用程序。来自不同国家的用户正在使用您的应用程序。假设一个用户来自美国,另一个来自印度。两者都有不同的时区。因此,您可以选择向用户显示消息接收时间或以当地时间或 UTC 发送时间。

可能还有许多其他用途。下面,我们将看到将普通日期字符串转换为 UTC 的不同方法。

使用 toUTCString( ) 和 toISOString( ) 方法

在这种方法中,我们将创建日期类的新的对象,并应用toUTCString( )toISOString( )方法将本地时间转换为 UTC。幸运的是,JavaScript 提供了内置方法将日期转换为 UTC。

语法

用户可以按照以下语法使用toISOString( )toUTCString()方法。

Var date = new Date();
let utcString = date.toUTCString( ); 
let utcString = daet.toISOString( ); 

示例

在下面的示例中,我们将使用 toUTCString( ) 和 toISOString( ) 方法将时间转换为协调世界时。

<html> <head> <title> Convert Date to UTC. </title> </head> <body> <h2> Convert Date to UTC in JavaScript. </h2> <h4> Output, when we use toUTCString() method. </h4> <div id = "result1"> </div> <h4> Output when we use toISOString() method. </h4> <div id = "result2"> </div> <script> let result1 = document.getElementById("result1"); let result2 = document.getElementById("result2"); // creating new date let date = new Date(); let utcString = date.toUTCString(); result1.innerHTML = utcString; utcString = date.toISOString(); result2.innerHTML = utcString; </script> </body> </html>

在上面的输出中,用户可以看到当我们使用 toUTCString( ) 方法和 toISOString( ) 方法时输出之间的区别。toUTCString( ) 方法还会返回带有日期的时间。

使用 Moment.UTC( ) 方法

在这种方法中,我们将使用Moment JS库方法。Moment JS 是一个 JavaScript 库,仅包含用于管理日期和时间的方法,从而简化了日期操作。程序员可以通过将CDN添加到<head>部分或使用npm包管理器在应用程序中安装 Moment JS 来使用 Moment JS。

语法

用户可以按照以下语法使用 Moment JS 的 .utc() 方法。

let utcString = moment().utc(); // to convert date to utc
// to format the UTC string
let utcString = moment().utc().format("YYYY-MM-DD”);

示例

在下面的示例中,我们添加了 CDN 以使用 Moment JS 库函数。我们使用了moment.UTC()方法将日期转换为 UTC。此外,我们还使用了.format()方法根据我们的需要格式化 UTC 字符串。

<html> <head> <title> Convert Date to UTC. </title> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.3/moment-with-locales.min.js"
integrity="sha512-vFABRuf5oGUaztndx4KoAEUVQnOvAIFs59y4tO0DILGWhQiFnFHiR+ZJfxLDyJlXgeut9Z07Svuvm+1Jv89w5g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> </head> <body> <h2> Convert Date to UTC in JavaScript. </h2> <h4> Output, when we use moment.utc() method. </h4> <div id = "result1"> </div> <h4> Output when we usemoment.utc().format() method. </h4> <div id = "result2"> </div> <script> let result1 = document.getElementById("result1"); let result2 = document.getElementById("result2"); // creating new date let utcString = moment().utc(); result1.innerHTML = utcString; utcString = moment().utc().format("YYYY-MM-DD, hh-mm-ss"); result2.innerHTML = utcString; </script> </body> </html>

在上面的输出中,用户可以看到格式化的 UTC 字符串是什么样的。

使用 Date.UTC ( ) 方法

在这种方法中,我们将分别获取日期的不同值。例如,我们将分别获取年份、月份、日期、小时、分钟、秒等,并将其作为参数传递给Date.UTC()方法。它将返回一个字符串,并使用返回的字符串创建新的日期对象。

语法

用户可以按照以下语法使用 Date.UTC() 方法。

var utcString = Date.UTC(date.getUTCMonth(),
date.getUTCDate(), 
date.getUTCFullYear(), 
date.getUTCHours(),
date.getUTCMinutes(), 
date.getUTCSeconds());
let utc= new Date(utcString);

参数

  • 它将不同的 UTC 值作为参数。用户需要根据他们想要格式化 UTC 字符串的方式,逐个传递不同的值。

示例

在这个例子中,我们将使用不同的方法获取 UTC 的年份、月份、日期等,并将它们传递给Date.UTC()方法,它将返回 UTC 字符串。

<html> <head> <title> Convert Date to UTC. </title> </head> <body> <h2> Convert Date to UTC in JavaScript. </h2> <h4> Output, when we use date.UTC() method. </h4> <div id = "result1"> </div> <script> let result1 = document.getElementById("result1"); var date = new Date(); // generating new date from all UTC values. var utcString = Date.UTC(date.getUTCMonth(), date.getUTCDate(), date.getUTCFullYear(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); result1.innerHTML = new Date(utcString); </script> </body> </html>

在本教程中,我们看到了三种将日期转换为 UTC 的不同方法。第一种方法是最简单的,因为它使用单个方法,无需任何参数。第二种方法非常好。如果您在实时应用程序中管理日期和时间,建议使用 Moment JS 库。第三种方法仅用于演示目的;用户不应使用它,因为他们需要编写更多代码行。

更新于: 2022年8月2日

13K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.