Home  >  Article  >  Web Front-end  >  How to convert UTC datetime to local datetime using JavaScript?

How to convert UTC datetime to local datetime using JavaScript?

WBOY
WBOYforward
2023-09-12 18:05:04812browse

如何使用 JavaScript 将 UTC 日期时间转换为本地日期时间?

Time zone handling is an important part of every web application. The time recorded by the backend is usually in UTC format. However, when it is displayed to the user, it must be converted to the user's local time. This can be achieved via JavaScript. In this blog we will see how to convert UTC date time to local date time using JavaScript.

JavaScript Date

JavaScript contains a "Date" class that allows us to work with dates and times. The Date class contains various methods for working with dates and times, including -

Date() - Returns the current date and time in milliseconds getTime() Returns the current time in milliseconds

getUTCFullYear() - Returns the date year in UTC time zone.

getUTCMonth() - Returns the date month in UTC time zone.

getUTCDate() - Returns the month and day of the date in the UTC time zone.

getUTCHours() - Returns the date hour in UTC time zone.

getUTCMinutes() - Returns the date minutes in UTC time zone.

getUTCSeconds() - Returns the seconds of a date in the UTC time zone.

Convert UTC to local time

We have to convert UTC date time to local date time using getTimezoneOffset() method. This method returns the time difference in minutes between UTC and local time. This minute difference can then be used to convert the UTC date-time to a local date-time.

Example

For example, the following code converts UTC datetime to local datetime -

<!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>

We can see here a New Date object named "utc", which saves the current UTC date and time. We then use the getTimezoneOffset() function to calculate the time difference (in minutes) between UTC and local time. Finally, we calculate the local time by adding this quantity to the UTC time in milliseconds.

Similarly, we can convert a specified UTC date time into a local date time. To accomplish the same thing, simply supply the UTC date and time as parameters to the Date() function Object() { [native code] }. Now, let's see the code to convert a UTC date time of "2018-11-12 12:00:00" to a local date time −

Example

<!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>

We have passed the UTC date and time as a string to the Date() constructor. We then convert the UTC datetime to local datetime using the same method as before.

Convert local time to UTC

Now, how can we get from local time to UTC? To convert local date time to UTC date time, we can use the getTimezoneOffset() method once more. Since this function returns the time difference in minutes between UTC and local time . This difference number can be used to convert the local date time to the UTC date time.

Example

For example, the following code converts local datetime to UTC datetime -

<!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>

In the above code, we first create a new Date object named "local" that contains the current local date and time. We then use the getTimezoneOffset() method to get the time difference in minutes between UTC and local time. After subtracting this value from the local time in milliseconds, we get the UTC time.

We can also convert a specific local date time into a UTC date time by passing the local date and time as arguments to the Date() constructor. For example, the following code will convert a local date time of "2018-11 -12 12:00:00" into the UTC date time −

Example

<!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>

We pass the local date and time as strings to the Date() constructor. We then convert the local datetime to UTC datetime using the same method as before.

in conclusion

In this tutorial, we learned how to convert UTC datetime to local datetime using JavaScript. We also learned that the JavaScript Date class provides various methods for working with dates and times, such as getTimezoneOffset(), which can be used to convert UTC datetime to local datetime. We also learned how to convert local datetime to UTC datetime using the same method in this blog. It is important to note that time zone handling is an important aspect of any web application, and it is also important to convert times correctly so they are displayed correctly to the user.

The above is the detailed content of How to convert UTC datetime to local datetime using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete