À propos de ce tutoriel
Dans ce chapitre nous allons voir comment utiliser l'objet pour représenter une date en JavaScript. Cet objet peut se construire de différentes façons.
new Date()
new Date(timestampInMilliseconds)
new Date(dateString)
new Date(year, monthIndex)
new Date(year, monthIndex, day)
new Date(year, monthIndex, day, hours)
new Date(year, monthIndex, day, hours, minutes)
new Date(year, monthIndex, day, hours, minutes, seconds)
new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds)
On obtient alors un objet sur lequel on peut récupérer différentes informations à l'aide de méthodes comme getDate()
, getFullYear()
, getMonth()
et que l'on pourra aussi manipuler avec des méthodes comme setDate()
, setFullYear()
, setMonth()
ou autre.
Enfin, il est possible de formatter la date en suivant différents standards grâce aux méthodes toISOString(), toUTCString() et toLocaleString().
Exercices
addDays()
Créer une fonction qui permet d'ajouter un certain nombre de jours à une date.
const today = new Date()
const tomorrow = addDays(today, 1)
console.log(today, tomorrow)
function addDays (date, days) {
const newDate = new Date(date.getTime())
newDate.setDate(newDate.getDate() + days)
return newDate
}
addInterval
Créer une fonction qui permet d'ajouter à la fois des jours, heures, minutes... à une date.
const today = new Date();
const future = addInterval(today, {
[MONTHS]: 2,
[DAYS]: 1,
[MINUTES]: 3,
})
console.log(today, future)
const MONTHS = 1
const DAYS = 2
const HOURS = 3
const MINUTES = 4
const SECONDS = 5
const YEARS = 0
function addInterval(date, interval) {
const parts = [
date.getFullYear(),
date.getMonth(),
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds(),
date.getMilliseconds()
]
for (const [unit, value] of Object.entries(interval)) {
parts[unit] += value
}
return new Date(...parts)
}