--- title: Date.prototype.toISOString() slug: Web/JavaScript/Reference/Objets_globaux/Date/toISOString tags: - Date - JavaScript - Méthode - Prototype - Reference - polyfill translation_of: Web/JavaScript/Reference/Global_Objects/Date/toISOString --- <div>{{JSRef}}</div> <p>La méthode <code><strong>toISOString()</strong></code> renvoie une chaîne de caractères au format ISO (<a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601 Extended Format</a>), qui peut être décrite de cette façon : <code><strong>YYYY-MM-DDTHH:mm:ss.sssZ</strong></code> (toujours longue de 24 caractères) ou de cette façon <strong><code>±YYYYYY-MM-DDTHH:mm:ss.sssZ</code></strong> (27 caractères). Le fuseau horaire est toujours UTC, comme l'indique le suffixe « Z » (pour zéro décalage avec UTC).</p> <div>{{EmbedInteractiveExample("pages/js/date-toisostring.html")}}</div> <p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> <h2 id="Syntaxe">Syntaxe</h2> <pre class="syntaxbox"><var>dateObj</var>.toISOString()</pre> <h3 id="Valeur_de_retour">Valeur de retour</h3> <p>Une chaîne de caractères représentant la date indiquée au format <a href="https://fr.wikipedia.org/wiki/ISO_8601">ISO 8601</a> selon le temps universel.</p> <h2 id="Exemples">Exemples</h2> <h3 id="Utiliser_toISOString()">Utiliser <code>toISOString()</code></h3> <pre class="brush: js">var aujourdhui = new Date("05 October 2011 14:48 UTC"); console.log(aujourdhui.toISOString()); // Renvoie "2011-10-05T14:48:00.000Z" </pre> <p>L'exemple ci-dessus analyse une chaîne de caractères non-standard, qui peut donc être incorrectement intérprété par des navigateurs n'utilisant pas Gecko.</p> <h2 id="Prothèse_d'émulation_(polyfill)">Prothèse d'émulation (<em>polyfill</em>)</h2> <p>Cette méthode fut standardisée avec la cinquième édition d'ECMAScript. Afin d'utiliser cette méthode avec les moteurs qui n'en disposent pas nativement, on pourra utiliser ce fragment de code :</p> <pre class="brush:js">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'; }; }() ); }</pre> <h2 id="Spécifications">Spécifications</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Spécification</th> <th scope="col">État</th> <th scope="col">Commentaires</th> </tr> <tr> <td>{{SpecName('ES5.1', '#sec-15.9.5.43', 'Date.prototype.toISOString')}}</td> <td>{{Spec2('ES5.1')}}</td> <td>Définition initiale. Implémentée avec JavaScript 1.8.</td> </tr> <tr> <td>{{SpecName('ES6', '#sec-date.prototype.toisostring', 'Date.prototype.toISOString')}}</td> <td>{{Spec2('ES6')}}</td> <td> </td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-date.prototype.toisostring', 'Date.prototype.toISOString')}}</td> <td>{{Spec2('ESDraft')}}</td> <td> </td> </tr> </tbody> </table> <h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> <p class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> <p>{{Compat("javascript.builtins.Date.toISOString")}}</p> <h2 id="Voir_aussi">Voir aussi</h2> <ul> <li>{{jsxref("Date.prototype.toLocaleDateString()")}}</li> <li>{{jsxref("Date.prototype.toTimeString()")}}</li> <li>{{jsxref("Date.prototype.toUTCString()")}}</li> </ul>