「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript でタイムゾーン オフセットを使用して ISO 8601 形式の日付を生成する方法

JavaScript でタイムゾーン オフセットを使用して ISO 8601 形式の日付を生成する方法

2024 年 12 月 23 日に公開
ブラウズ:986

How to Generate ISO 8601 Format Dates with Timezone Offsets in JavaScript?

JavaScript でタイムゾーン オフセットを使用した ISO 8601 形式の日付

JavaScript では、タイムゾーン オフセットを使用して ISO 8601 形式で日付を構築するのが難しい場合があります。負のタイムゾーン オフセットの可能性があります。この記事では、この問題に対処し、解決策を示します。

形式について

ISO 8601 形式では、日付を次のように指定します: YYYY-MM-DDThh:mm:ss±うーん。たとえば、2002-10-10T12:00:00-05:00 は、中部夏時間 (UTC より 5 時間遅れ) での 2002 年 10 月 10 日の正午を表します。

現地時間と UTC の検索オフセット

ISO 8601 文字列を構築するには、まず現地時間を取得する必要がありますnew Date() を使用して、getTimezoneOffset() を使用して UTC オフセットを計算します。オフセットは分単位で取得されるため、それを 60 で割って時間数を取得します。

負のタイムゾーン オフセットの処理

getTimezoneOffset() 関数は負の値を返すことができます価値観。このような場合、オフセットを別の形式でフォーマットする必要があります。たとえば、-120 分のオフセットは 02:00 (UTC の 2 時間前) として表示される必要があります。

書式設定用のヘルパー関数

プロセスを簡素化するため、ヘルパー関数 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