JavaScript 如何将UTC日期时间转换成本地日期时间

JavaScript 如何将UTC日期时间转换成本地日期时间

时区处理是每个网络应用程序的一个重要组成部分。后台记录的时间通常是UTC格式的。然而,当它被显示给用户时,它必须被转换为用户的本地时间。这可以通过JavaScript实现。在这篇博客中,我们将看看如何使用JavaScript将UTC日期时间转换为本地日期时间。

JavaScript的日期

JavaScript包含一个 “Date “类,允许我们处理日期和时间。Date类包括各种处理日期和时间的方法,其中包括

Date() - 返回当前日期和时间的毫秒数 getTime() 返回当前时间的毫秒数

getUTCFullYear() - 返回一个日期在UTC时区的年份。

getUTCMonth() - 返回一个日期在 UTC 时区的月份。

getUTCDate() - 返回一个日期在UTC时区的月和日。

getUTCHours() - 返回一个日期在UTC时区的小时数。

getUTCMinutes() - 返回一个日期在UTC时区的分钟数。

getUTCSeconds() - 返回一个日期在UTC时区的秒数。

将UTC转换为当地时间

我们必须使用getTimezoneOffset()方法来将UTC日期时间转换为本地日期时间。这个方法返回UTC和本地时间之间以分钟为单位的时间差。这个分钟差可以用来将UTC日期时间转换为当地日期时间。

例子

例如,下面的代码将UTC日期时间转换为本地日期时间

<!DOCTYPE html>
<html>
<body>
   <div id="result"></div>
   <script>
      var utc = new Date();
      var offset = utc.getTimezoneOffset();
      var local = new Date(utc.getTime() + offset * 60000);
      document.getElementById("result").innerHTML = local;
   </script> 
</body>
</html>

我们在这里可以看到一个名为 “utc “的新日期对象,它持有当前的UTC日期和时间。然后,我们使用getTimezoneOffset()函数来计算UTC和本地时间之间的时间差,单位是分钟。最后,我们通过将这一数额与UTC时间相加,计算出本地时间,单位为毫秒。

同样地,我们可以将指定的UTC日期时间转换为本地日期时间。要完成同样的事情,只需将UTC日期和时间作为参数提供给Date()函数Object() { [本地代码] }。现在,让我们看看将UTC日期时间 “2018-11-12 12:00:00 “转换为本地日期时间的代码 –

例子

<!DOCTYPE html>
<html>
<head>
   <title>Date Example</title>
</head>
<body>
   <div id="result"></div>
   <script>
      var utc = new Date("2018-11-12 12:00:00");
      var offset = utc.getTimezoneOffset();
      var local = new Date(utc.getTime() + offset * 60000);
      document.getElementById("result").innerHTML = "UTC : " + utc + "<br>" + "Local : " + local;
   </script>
</body>
</html>

我们将UTC日期和时间作为一个字符串传递给Date()构造函数。然后我们使用与之前相同的方法将UTC日期时间转换为本地日期时间。

将本地时间转换为UTC

现在,我们如何从本地时间转换到UTC呢?为了将本地日期时间转换为UTC日期时间,我们可以再一次使用getTimezoneOffset()方法。因为这个函数返回UTC和本地时间之间的时间差,单位是分钟。这个差值可以用来将本地日期时间转换为UTC日期时间。

例子

例如,下面的代码将把本地日期时间转换为UTC日期时间

<!DOCTYPE html>
<html>
<body>
   <div id="result"></div>
   <script>
      var local = new Date();
      var offset = local.getTimezoneOffset();
      var utc = new Date(local.getTime() - offset * 60000);
      document.getElementById("result").innerHTML = utc;
   </script>
</body>
</html>

在这里,在上面的代码中,我们首先创建了一个名为 “local “的新Date对象,它包含了当前的本地日期和时间。然后,我们使用getTimezoneOffset()方法来获取UTC和本地时间之间的时间差,单位是分钟。用这个值减去当地时间的毫秒后,我们得到了UTC时间。

我们也可以通过将本地日期和时间作为参数传递给Date()构造函数,将一个特定的本地日期时间转换为UTC日期时间。例如,下面的代码将把本地日期时间 “2018-11-12 12:00:00 “转换为UTC日期时间 –

例子

<!DOCTYPE html>
<html>
<body>
   <div id="result"></div>
   <script>
      var local = new Date("2018-11-12 12:00:00");
      var offset = local.getTimezoneOffset();
      var utc = new Date(local.getTime() - offset * 60000);
      document.getElementById("result").innerHTML = utc;
   </script> 
</body>
</html>

我们将本地日期和时间作为字符串传递给Date()构造函数。然后我们使用与之前相同的方法将本地日期时间转换为UTC日期时间。

总结

在本教程中,我们学习了如何使用JavaScript将UTC日期时间转换成本地日期时间。我们还了解到JavaScript的Date类提供了几个处理日期和时间的方法,比如getTimezoneOffset(),它可以用来将UTC日期时间转换成本地日期时间。在这篇博客中,我们还学习了如何使用同样的方法将本地日期时间转换为UTC日期时间。需要注意的是,时区处理是任何网络应用的一个重要方面,正确地转换时间以便正确地显示给用户是很重要的。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 示例