首頁 > web前端 > js教程 > 主體

如何使用 JavaScript 將 UTC 日期時間轉換為本機日期時間?

WBOY
發布: 2023-09-12 18:05:04
轉載
841 人瀏覽過

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

時區處理是每個 Web 應用程式的重要組成部分。後端記錄的時間通常採用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」的 New Date 對象,它保存目前的 UTC 日期和時間。然後我們使用 getTimezoneOffset() 函數來計算 UTC 和本地時間之間的時差(以分鐘為單位)。最後,我們透過將此量與 UTC 時間(以毫秒為單位)相加來計算本地時間。

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() { [nativecode] }. Now, let's see the code to convert a UTC date time of "2018-11-12 12:00:00" to a local date time −

#範例

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

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 minute ​​e wunction returns the time difference in minutes locald . This difference number can be used to convert the local date time to the UTC date time.

範例

##例如,以下程式碼將本機日期時間轉換為 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 時間。

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 −

範例

<!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 日期時間。需要注意的是,時區處理是任何 Web 應用程式的重要方面,正確轉換時間以便正確顯示給使用者也很重要。 ###

以上是如何使用 JavaScript 將 UTC 日期時間轉換為本機日期時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!