Le Tutoriel de ECMAScript Date

View more Tutorials:

1- ECMAScript Date

Date est un type de données qui est contruit dans le langage  Javascript. Il est une classe pour créer des objets qui représente la date et le temps (Date & time).
Le standard  ECMAScript requérit  Date qu'elle puisse représent n'importe quelle date et quel temps, avec une précision de quelques millisecondes, dans un délai de 100 millions de jours avant ou après le  1/1/1970. Il s’agit d’un champ de plus ou moins 273785 ans, donc  JavaScript peut représenter la date et l’heure jusqu’à l’année​​​​​​​ 275755.
En informatique, 12h le 1er janvier 1970 est un moment privilégié. Il est utilisé pour commencer à compter le temps. Ce temps spécial s'appelle epoch (Computer Age).
Voir plus sur le concept de  Locale.
  • TODO Link!
  • TODO Link!
Voir aussi la liste des fuseaux horaires par pays :

2- Les méthodes de Date

getDate()

La méthode  getDate() renvoie la date du mois de l'objet  Date de  Locale présent. Particulièrement, elle renvoie une nombre entier (integer) qui se trouve dans le champ  [1-31].
getDate-example.js
let date = new Date("December 25, 2017 23:15:00");

var day = date.getDate();

console.log(day); // 25

getDay()

La méthode  getDate() renvoie la date de la semaine du l'objet  Date par  Locale présent. Plus précisément, elle renvoie un nombre entier (integer) situé dans le champ  [0-6]. 0 correspond à dimanche, 1 correspond à lundi, ...
getDay-example.js
let date = new Date("December 25, 2017 11:15:00");// Monday

var day = date.getDay();

console.log(day); // 1

 

getFullYear()

La méthode  getFullYear() renvoie l'année (year) de l'objet  Date par  Locale présent. Spécialement, elle renvoie un nombre entier, par exemple  2017.

getFullYear-example.js
let date = new Date("December 25, 2017 11:15:00");// Monday

var year = date.getFullYear();

console.log(year); // 2017

getHours()

La méthode  getHours() renvoie l'heure de l'obet  Date par son  Locale présent. Elle renvoie un nombre entier (integer) qui se trouve dans le champ  [0-23].
getHours-example.js
let date = new Date("December 25, 2017 22:10:00");

let hour = date.getHours();

console.log(hour); // 22

getMilliseconds()

La méthode  getMilliseconds() renvoie mili second de l'objet  Date par  Locale présent. Spécialement, elle renvoie un nombre entier (integer) qui se trouve dans le champ  [0-999].
getMilliseconds-example.js
let now = new Date();

console.log(now);// Ex: 2018-11-25T05:52:20.490Z

console.log("getMilliseconds() : " + now.getMilliseconds()); // 490

getMinutes()

La méthode  getMinutes() renvoie (minute) de l'objet  Date par  Locale présent. Spécialement, elle renvoie un nombre entier (integer) qui se trouve dans le champ​​​​​​​ [0-59].
getMinutes-example.js
let now = new Date();

console.log(now);// Ex: 2018-11-25T05:58:20.178Z

console.log("getMinutes() : " + now.getMinutes()); // 58

getMonth()

La méthode  getMonth() renvoie le mois (month) de l'objet  Date par  Locale présent. Spécialement, elle renvoie un nombre entier (integer) qui se trouve dans le champ [0-11], 0 correspond au janvier (January), 1 correspond au février (February),..
getMonth-example.js
let now = new Date();

console.log(now);// Ex: 2018-11-25T05:58:20.178Z

let month = now.getMonth(); // 10

console.log(month); // 10
 

getSeconds()

La méthode  getSeconds() renvoie la seconde (second) de l'objet  Date par  Locale présent. Spécialement, elle renvoie un nombre entier (integer) qui se trouve dans le champ​​​​​​​ [0-59].
getSeconds-example.js
let now = new Date();

console.log(now);// Ex: 2018-11-25T06:06:24.211Z

console.log("getSeconds() : " + now.getSeconds()); // 24

getTime()

La méthode  getTime() renvoie un période de temps en mili secondes de  01/01/1970 00:00:00:000 jusqu'à heure qui représente par l'objet  Date.
getTime-example.js
let now = new Date();

console.log(now);// Ex: 2018-11-25T06:14:59.213Z

console.log("getTime() : " + now.getTime()); // 1543126499213
 

getTimezoneOffset()

La méthode  getTimezoneOffset() renvoie le fuseau horaire (compté par minute) pour  Locale présent.
Le fuseau horaire (time-zone) dépend au  Locale, par exemple, le fuseau horaire du  Vietnam est  UTC+07:00 tandis que celui de la Russie s'étend largement sur 11 fuseaux horaires.
Votre ordinateur peut sélectionner n’importe quel paramètre Locale. Ensuite, l'horloge de l'ordinateur affichera l'heure dans ces paramètres Locale. La méthode getTimezoneOffset() renvoie le fuseau horaire correspondant au paramètre Locale que vous utilisez.
getTimezoneOffset:
  • Vietnam: UTC+07:00 ==> -420
  • Japan: UTC+09:00 ==> -540
getTimezoneOffset-example.js
// Vietnam: UTC+07:00
let now = new Date();

let timezoneOffset = now.getTimezoneOffset();

console.log(timezoneOffset); // -420

 

getUTCDate()

La méthode  getUTCDate() renvoie le mois de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de [1-31].
getUTCDate-example.js
// This example test in Locale: Vietnam UTC+7:00

let date = new Date("December 25, 2017 01:15:00");

let day = date.getDate();

console.log(day); // 25  (Test in Vietnam UTC+7:00)

let utcDay = date.getUTCDate();

console.log(utcDay); // 24  (UTC)
 

getUTCDay()

La méthode  getUTCDay() renvoie la date de la semaine de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de [0-6]. 0 correspond au dimanche, 1 correspond au lundi, ...
getUTCDay-example.js
// This example test in Locale: Vietnam UTC+7:00

let date = new Date("December 25, 2017 01:15:00"); // Monday

let day = date.getDay();

console.log(day); // 1


let utcDay = date.getUTCDay();

console.log(utcDay); // 0

getUTCFullYear()

Phương thức getUTCFullYear() renvoie l'année (year) de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer), par exemple  2017.
getUTCFullYear-example.js
// This example test in Locale: Vietnam UTC+7:00

let date = new Date("January 01, 2019 01:15:00");

var year = date.getFullYear();

console.log(year); // 2019


var utcYear = date.getUTCFullYear();

console.log(utcYear); // 2018
 

getUTCHours()

La méthode  getHours() renvoie l'heure de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de​​​​​​​ [0-23].
getUTCHours-example.js
// This example test in Locale: Vietnam UTC+7:00

let now = new Date();

console.log(now);// Ex: 2018-11-25T07:29:59.575Z

let hour = now.getHours();

console.log(hour); // 14


let utcHour = now.getUTCHours();  

console.log(utcHour); // 7

getUTCMinutes()

Phương thức getUTCMinutes() renvoie la minute de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de [0-59].
getUTCMinutes-example.js
// This example test in Locale: Vietnam UTC+7:00

let now = new Date();

console.log(now);// Ex: 2018-11-25T07:35:06.442Z

console.log("getUTCMinutes() : " + now.getUTCMinutes()); // 35

getUTCMilliseconds()

La méthode  getUTCMilliseconds() renvoie mili seconde de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de [0-999].
getUTCMilliseconds-example.js
// This example test in Locale: Vietnam UTC+7:00

let now = new Date();

console.log(now);// Ex: 2018-11-25T07:39:03.222Z

console.log("getUTCMilliseconds() : " + now.getUTCMilliseconds()); // 222

getUTCMonth()

La méthode  getUTCMonth() renvoie le mois (month) de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de [0-11], 0 correspond au janvier (January), 1 correspond au février (February),..
getUTCMonth-example.js
// This example test in Locale: Vietnam UTC+7:00

let date = new Date("January 01, 2019 01:15:00");

console.log(date);// 2018-12-31T18:15:00.000Z

// January 2019 (Vietnam)
let month = date.getMonth(); // 0

console.log(month); // 0

// December 2018 (UTC)
let utcMonth = date.getUTCMonth(); // 11

console.log(utcMonth); // 11

getUTCSeconds()

La méthode  getUTCSeconds() renvoie la seconde de l'objet  Date par  Universal Time (Temps Universel). Spécifiquement, il retourne un entier (integer) de [0-59].
getUTCSeconds-example.js
// This example test in Locale: Vietnam UTC+7:00

let now = new Date();

console.log(now);// Ex: 2018-11-25T06:06:24.211Z

console.log("getUTCSeconds() : " + now.getUTCSeconds()); // 24

setDate(dayValue)

La méthode  setDate(dayValue) définit la valeur de date d'un mois de l'objet  Date par  Locale présent. Spécifiquement, il retourne un entier (integer) de  [1-31].
OK, une situation!! Supposons que vous avez un objet  Date qui représente  25/02/2017 (Le mois de février 2017 n'a que 28 jours). Vous définit la valeur 31 pour "jour du mois" de cet objet  Date là, qu'est-ce qu'il se passe? Le résultat est que votre objet  Date représentera le jour  03/03/2017.
setDate-example.js
let date = new Date("February 25, 2017 23:15:00"); // 25/02/2017

date.setDate(18);

console.log(date); // 2017-02-18T16:15:00.000Z

// ??
date.setDate(31);

console.log(date); // 2017-03-03T16:15:00.000Z
 

setFullYear(yearValue[, monthValue[, dayValue]])   

La méthode  setFullYear(...) définit des valeur de l'année, du mois de l'objet  Date par le  Locale courant.
Des paramètres :
  • yearValue: Un nombre entier, par exemple 2018.
  • monthValue: Un nombre entier dans la rangée [0-11], 0 correspond au janvier (January), 1 correspond au février (February),...
  • dayValue: Un nombre entier dans la rangée [1-31], représente le jour du mois.
setFullYear-example.js
let date = new Date();

console.log(date);// Ex: 2017-02-25T16:15:00.000Z

date.setFullYear(2015, 3, 19);

console.log(date); // 2018-12-19T16:15:00.000Z


date.setFullYear(2014, 10);

console.log(date); // 2018-12-25T16:15:00.000Z


date.setFullYear(2013);

console.log(date); // 2019-12-25T16:15:00.000Z

setMonth(monthValue[, dayValue]) 

La méthode  setMonth(...) définit les valeurs du mois, du jour de l'objet  Date par  Locale présent.
Des paramètres :
  • monthValue: Un nombre entier dans le champs [0-11], 0 correspond au janvier (January), 1 correspond au février (February),...
  • dayValue: Un nombre entier dans le champs [1-31], représente le jour du mois
setMonth-example.js
let date = new Date();

console.log(date);// Ex: 2018-11-25T17:42:01.751Z

date.setMonth(3, 19);// Month, day of month

console.log(date); // 2018-04-18T17:42:01.751Z


date.setMonth(10); // Month

console.log(date); // 2018-11-18T17:42:01.751Z

setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]]) 

La méthode  setHours(..) définit les valeur de temps, de minute, de miliseconde de l'objet  Date par  Locale présent.
Des paramètres :
  • hoursValue: Un nombre entier allant de [0-23].
  • minutesValue: Un nombre entier allant de [0-59].
  • secondsValue: Un nombre entier allant de [0-59].
  • msValue: Un nombre entier allant de​​​​​​​ [0-999].
setHours-example.js
let date = new Date();

console.log(date);// Ex: 2018-11-25T17:36:18.955Z

date.setHours(22, 11, 03, 555); // hours, minutes, seconds, milliseconds

console.log(date); // 2018-11-26T15:11:03.555Z


date.setHours(13, 10);// hours, minutes

console.log(date); // 2018-11-26T06:10:03.555Z

setMinutes(minutesValue[, secondsValue[, msValue]])

La méthode  setMinutes(..) définit les valeurs minute, seconde et milliseconde de l’objet Date dans les paramètres  Locale courant.
Des paramètres :
  • minutesValue: Un nombre entier dans le champs de [0-59].
  • secondsValue: Un nombre entier dans le champs de [0-59].
  • msValue: Un nombre entier dans le champs de​​​​​​​ [0-999].

setSeconds(secondsValue[, msValue])

La méthode  setSeconds(..) définit les valeurs seconde et milliseconde de l’objet Date dans les paramètres  Locale courant.
Des paramètres :
  • secondsValue: Un nombre entier allant de [0-59].
  • msValue: Un nombre entier allant de [0-999].

setMilliseconds(millisecondsValue)

La méthode  setMilliseconds(msValue) définit les valeurs milliseconde de l’objet Date dans les paramètres  Locale courant. Le paramètre est un entier compris entre  [0-999].

setTime(timeValue)

La méthode  setTime(timeValue) permet au  Date de représenter une nouvelle heure alors que timeValue est une période calculée en millisecondes à partir du  01/01/1970 00:00:00:000 jusqu'à cette heure.
setTime-example.js
var date = new Date( "Aug 28, 2008 23:30:00" );

date.setTime( 5000000 );
console.log( date ); // 1970-01-01T01:23:20.000Z

toDateString()

La méthode  toDateString() renvoie une chaine (String) qui représente la date de l'objet  Date que les gens peuvent lire.
toDateString-example.js
let date = new Date( );

var str = date.toDateString();

console.log(str); // Thu Nov 29 2018

toTimeString()

La méthode toTimeString() renvoie la chaine (String) qui représente le temps (time) de l'objet  Date, que les gens peuvent lire.
toTimeString-example.js
var dateobject = new Date(1993, 6, 28, 14, 39, 7);

console.log( dateobject.toTimeString() ); // 14:39:07 GMT+0700 (GMT+07:00)

toString()

La méthode  toString() renvoie la chaine (String) qui représente le temps (time) de l'objet  Date, que les gens peuvent lire.
toString-example.js
// This example test in Locale: Vietnam UTC+7:00

var dateobject = new Date(1993, 6, 28, 14, 39, 7);

console.log( dateobject.toString() ); // Wed Jul 28 1993 14:39:07 GMT+0700 (GMT+07:00)

toUTCString()

La méthode  toUTCString() renvoie la chaine (String) qui représente le temps (time) de l'objet  Date par  Universal Time, que les gens peuvent lire.
toUTCString-example.js
// This example test in Locale: Vietnam UTC+7:00

var dateobject = new Date(1993, 6, 28, 14, 39, 7);

console.log( dateobject.toString() ); // Wed Jul 28 1993 14:39:07 GMT+0700 (GMT+07:00)

console.log( dateobject.toUTCString() ); // Wed, 28 Jul 1993 07:39:07 GMT

toLocaleDateString( [locales][, options])

La méthode  toLocaleDateString([locales][, options]) renvoie la chaine (String) qui représente le temps (time) de l'objet  Date par des  Locale et par les options dans des paramètres. Dans le cas où vous ne précisez pas  Locale dans des paramètres,  Locale courant sera utilisé.
Un exemple avec la méthode  toLocaleDateString(..) exécute sur le navigateur.
toLocaleDateString-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">
      <title>toLocaleDateString()</title>
      <script>
         var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

         var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };

         console.log(date.toLocaleDateString('de-DE', options));
         // expected output: Donnerstag, 20. Dezember 2012

         console.log(date.toLocaleDateString('ar-EG', options));
         // expected output: الخميس، ٢٠ ديسمبر، ٢٠١٢

         console.log(date.toLocaleDateString('ko-KR', options));
         // expected output: 2012년 12월 20일 목요일
      </script>
   </head>
   <body>
      Show informations in the Console.
   </body>
</html>

toLocaleTimeString( [locales][, options])

La méthode  toLocaleTimeString([locales][, options]) renvoie une une chaîne représentant l'heure (time) de l'objet Date dans les paramètres Locale et les options dans des paramètres. Si vous ne spécifiez pas les paramètres Locale dans des paramètres, les paramètres Locale actuels seront utilisés.
toLocaleTimeString-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">

      <title>toLocaleTimeString()</title>
      <script>
         var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));

         var options = {} // {hour: "2-digit", minute: "2-digit", second: "2-digit"}

         console.log(date.toLocaleTimeString('de-DE', options));
         // expected output: 10:00:00

         console.log(date.toLocaleTimeString('ar-EG', options));
         // expected output: ١٠:٠٠:٠٠ ص

         console.log(date.toLocaleTimeString('ko-KR', options));
         // expected output: 오전 10:00:00
      </script>
   </head>
   <body>
      Show informations in the Console.
   </body>
</html>

toLocaleString( [locales][, options])

La méthode  toLocaleString([locales][, options]) renvoie une une chaîne représentant l'heure (time) de l'objet Date dans des paramètres Locale et les options dans des paramètres. Si vous ne spécifiez pas les paramètres Locale dans des paramètres, les paramètres Locale actuels seront utilisés.
toLocaleString-example.html
<!DOCTYPE html>
<html>
   <head>
      <meta charset="UTF-8">

      <title>toLocaleString()</title>
      <script>
         var date = new Date(Date.UTC(2012, 11, 20, 3, 20, 59));

         //  { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric',
         //     hour: "2-digit", minute: "2-digit", second: "2-digit"}
         var options = {}; // Default options

         console.log(date.toLocaleString('de-DE', options));
         // expected output: 20.12.2012, 10:20:59

         console.log(date.toLocaleString('ar-EG', options));
         // expected output: ٢٠‏/١٢‏/٢٠١٢ ١٠:٢٠:٥٩ ص

         console.log(date.toLocaleString('ko-KR', options));
         // expected output: 2012. 12. 20. 오전 10:20:59
      </script>
   </head>
   <body>
      Show informations in the Console.
   </body>
</html>
Remarque : Les méthodes  toLocaleDateString(..)toLocaleTimeString(..)toLocaleString(..) ne fonctionnent pas comme prévu sur l'environnement NodeJS, cette question a été discutée sur GitHub :

View more Tutorials: