ホームページ  >  記事  >  ウェブフロントエンド  >  ISO 8601 形式の文字列を JavaScript で出力するにはどうすればよいですか?

ISO 8601 形式の文字列を JavaScript で出力するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-13 05:22:02746ブラウズ

How to Output ISO 8601 Formatted Strings in JavaScript?

JavaScript での ISO 8601 形式の文字列の出力

Date オブジェクトがあり、そのタイトルとして ISO 8601 形式の文字列をレンダリングしたいとします。次の例に見られます:

<abbr title="2010-04-02T14:12:07">A couple days ago</abbr>

getUTC*() メソッドを使用して ISO 日付文字列を作成しようとしましたが、成功しませんでした。

解決策

JavaScript には、ISO 8601 形式で日付と時刻を返す toISOString() という組み込み関数が用意されています。次のように使用できます:

var date = new Date();
date.toISOString(); // "2011-12-19T15:28:46.493Z"

何らかの理由でブラウザが toISOString() をサポートしていない場合は、次のポリフィルを使用できます:

if (!Date.prototype.toISOString) {
  (function() {

    function pad(number) {
      var r = String(number);
      if (r.length === 1) {
        r = '0' + r;
      }
      return r;
    }

    Date.prototype.toISOString = function() {
      return this.getUTCFullYear() +
        '-' + pad(this.getUTCMonth() + 1) +
        '-' + pad(this.getUTCDate()) +
        'T' + pad(this.getUTCHours()) +
        ':' + pad(this.getUTCMinutes()) +
        ':' + pad(this.getUTCSeconds()) +
        '.' + String((this.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5) +
        'Z';
    };

  }());
}

ポリフィルを配置した状態でtoISOString() 関数を使用して、ISO 8601 形式の文字列を生成できます。

以上がISO 8601 形式の文字列を JavaScript で出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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