時區處理是每個 Web 應用程式的重要組成部分。後端記錄的時間通常採用UTC格式。然而,當它顯示給用戶時,必須將其轉換為用戶的本地時間。這可以透過 JavaScript 實現。我們將在本部落格中了解如何使用 JavaScript 將 UTC 日期時間轉換為本地日期時間。
JavaScript 包含一個「Date」類,讓我們可以處理日期和時間。 Date 類別包含各種處理日期和時間的方法,包括 -
Date() - 以毫秒為單位傳回目前日期和時間 getTime() 以毫秒為單位傳回目前時間
getUTCFullYear() - 傳回 UTC 時區的日期年份。
getUTCMonth() - 傳回 UTC 時區中的日期月份。
getUTCDate() - 傳回 UTC 時區中日期的月份和日期。
getUTCHours() - 傳回 UTC 時區的日期小時。
getUTCMinutes() - 傳回 UTC 時區的日期分鐘數。
getUTCSeconds() - 傳回 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 日期時間轉換為本地日期時間。
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 時間。
範例
<!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>
結論
###在本教學中,我們學習如何使用 JavaScript 將 UTC 日期時間轉換為本機日期時間。我們也了解到,JavaScript Date 類別提供了多種處理日期和時間的方法,例如 getTimezoneOffset(),可用來將 UTC 日期時間轉換為本機日期時間。我們也學習如何使用本部落格中的相同方法將本地日期時間轉換為 UTC 日期時間。需要注意的是,時區處理是任何 Web 應用程式的重要方面,正確轉換時間以便正確顯示給使用者也很重要。 ###以上是如何使用 JavaScript 將 UTC 日期時間轉換為本機日期時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!