toISOString() メソッドは、簡潔な拡張表記の ISO 形式 (ISO 8601) の文字列を返しますこれは、常に 24 文字または 27 文字の長さになります (それぞれ、YYYY-MM-DDTHH:mm:ss.sssZ または ±YYYYYY-MM-DDTHH:mm:ss.sssZ)。タイムゾーンは常に 0 UTC オフセットになり、接尾辞 "Z" で表記されます。
構文
dateObj.toISOString()
戻り値
協定世界時に基づき、与えられた日付を ISO 8601 形式で表す文字列。
例
toISOString() を使う
var today = new Date('05 October 2011 14:48 UTC');
console.log(today.toISOString()); // 2011-10-05T14:48:00.000Z
上記の例は、Mozilla 以外のブラウザでは正しく解析されない、非標準の文字列値を解析するのに使います。
互換コード
このメソッドは、ECMA-262 第 5 版で標準化されました。このメソッドをサポートするため、更新されていないエンジンは、次のコードを用いてこのメソッドの欠落を補うことができます:
if (!Date.prototype.toISOString) {
(function() {
function pad(number) {
if (number < 10) {
return '0' + number;
}
return number;
}
Date.prototype.toISOString = function() {
return this.getUTCFullYear() +
'-' + pad(this.getUTCMonth() + 1) +
'-' + pad(this.getUTCDate()) +
'T' + pad(this.getUTCHours()) +
':' + pad(this.getUTCMinutes()) +
':' + pad(this.getUTCSeconds()) +
'.' + (this.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) +
'Z';
};
}());
}
仕様
| 仕様書 | 策定状況 | 備考 |
|---|---|---|
| ECMAScript 5.1 (ECMA-262) Date.prototype.toISOString の定義 |
標準 | 初期定義。JavaScript 1.8 で実装。 |
| ECMAScript 2015 (6th Edition, ECMA-262) Date.prototype.toISOString の定義 |
標準 | |
| ECMAScript 2017 Draft (ECMA-262) Date.prototype.toISOString の定義 |
ドラフト |
ブラウザの実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | 9 | (有) | (有) |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |