JavaScript 中帶有時區偏移的ISO 8601 格式日期
在JavaScript 中,建立帶有時區偏移的ISO 8601 格式的日期可能具有挑戰性,因為潛在的負時區偏移。本文解決了這個問題並提供了解決方案。
了解格式
ISO 8601 格式指定日期如下:YYYY-MM-DDThh:mm:ss±時:嗯。例如,2002-10-10T12:00:00-05:00 表示 2002 年 10 月 10 日中午,採用中部夏令時間(比 UTC 晚五個小時)。
查找本地時間和UTC Offset
要建構ISO 8601 字串,我們必須先使用下列方法取得當地時間new Date() 並使用getTimezoneOffset() 計算UTC 偏移量。偏移量以分鐘為單位獲得,因此我們將其除以 60 即可得到小時數。
處理負時區偏移量
getTimezoneOffset() 函數可以傳回負數價值。在這種情況下,我們必須以不同的方式格式化偏移量。例如,-120 分鐘的偏移量應顯示為 02:00(比 UTC 早兩小時)。
格式化幫助函數
簡化流程,輔助函數toIsoString 可用於使用時區偏移量來格式化ISO 8601 格式的日期:
function toIsoString(date) { var tzo = -date.getTimezoneOffset(), // Make the offset positive dif = tzo >= 0 ? ' ' : '-', // Determine the sign pad = function(num) { // Ensure two-digit representation return (num此函數採用日期作為參數,並依據 ISO 8601 規格進行格式化,包括時區偏移。
用法範例
以下程式碼示範如何使用 toIsoString 函數:
var dt = new Date(); console.log(toIsoString(dt)); // Outputs the date in ISO 8601 format with timezone offset使用此方法,您可以根據ISO 8601 標準輕鬆地在JavaScript 中格式化日期,確保它們遵循正確的格式。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3