ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でタイムゾーン オフセットを使用して ISO 8601 タイムスタンプを生成するにはどうすればよいですか?

JavaScript でタイムゾーン オフセットを使用して ISO 8601 タイムスタンプを生成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-18 10:45:13149ブラウズ

How to Generate ISO 8601 Timestamps with Timezone Offset in JavaScript?

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

目標: ISO でタイムスタンプを含む URL を構築するタイムゾーンを含む 8601 形式offset.

アプローチ:

  1. new Date() を使用して現地時間を取得します。
  2. getTimezoneOffset() を使用して UTC からのタイムゾーン オフセットを計算します。 ).
  3. 必要な形式でタイムスタンプ文字列を構築します。 yyyy-MM-ddThh:mm:ss±hh:mm.

実装:

次の JavaScript 関数は ISO 8601 タイムスタンプを構築します:

function toIsoString(date) {
  var tzo = -date.getTimezoneOffset(),  // Negative offset means UTC is ahead of local time
      dif = tzo >= 0 ? '+' : '-',
      pad = function(num) {
          return (num < 10 ? '0' : '') + num;
      };

  return date.getFullYear() +
      '-' + pad(date.getMonth() + 1) +
      '-' + pad(date.getDate()) +
      'T' + pad(date.getHours()) +
      ':' + pad(date.getMinutes()) +
      ':' + pad(date.getSeconds()) +
      dif + pad(Math.floor(Math.abs(tzo) / 60)) +
      ':' + pad(Math.abs(tzo) % 60);
}

たとえば、現地時間が次の場合2013/07/02 午前 9 時、タイムゾーン オフセットは -7 時間です (UTC は 7 時間進んでいます):

var dt = new Date();
console.log(toIsoString(dt));  // Outputs: "2013-07-02T09:00:00-07:00"

または - 記号は、現地時間が UTC より進んでいるか遅れているかを示していることに注意してください。

以上がJavaScript でタイムゾーン オフセットを使用して ISO 8601 タイムスタンプを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。