function formaterDate(instant) {
const annee = instant.getFullYear();
const mois = instant.getMonth() + 1;
const jour = instant.getDate();
let heures = instant.getHours();
let minutes = instant.getMinutes();
let secondes = instant.getSeconds();
minutes = minutes.toString().padStart(2, '0');
secondes = secondes.toString().padStart(2, '0');
return `${annee}-${mois}-${jour} ${heures}:${minutes}:${secondes}`;
}
const horodatage = formaterDate(new Date());
Formattage simplifié
function formaterISO(instant, decalage = 0) {
const dateDecalee = new Date(instant.getTime() + decalage * 3600000);
return dateDecalee.toISOString()
.replace('T', ' ')
.substring(0, 19)
.replace(/-/g, '.');
}
const dateFormatee = formaterISO(new Date(), 1);
Dernier jour du mois
function obtenirDernierJourMois(instant) {
const dateTemp = new Date(instant);
dateTemp.setMonth(dateTemp.getMonth() + 1);
dateTemp.setDate(0);
return dateTemp.getDate();
}
const dernierJour = obtenirDernierJourMois(new Date());
Premeir jour du trimestre
function premierJourTrimestre(instant) {
const mois = instant.getMonth();
const dateResultat = new Date(instant);
if(mois < 3) dateResultat.setMonth(0);
else if(mois < 6) dateResultat.setMonth(3);
else if(mois < 9) dateResultat.setMonth(6);
else dateResultat.setMonth(9);
dateResultat.setDate(1);
return dateResultat;
}
Jour de la semaine en français
const joursSemaine = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"];
const jourActuel = joursSemaine[new Date().getDay()];
Jour de l'année
function jourDansAnnee(instant) {
const debutAnnee = new Date(instant.getFullYear(), 0, 1);
const difference = instant - debutAnnee;
return Math.ceil(difference / (86400000));
}
Semaine de l'année
const semaineActuelle = Math.ceil(jourDansAnnee(new Date()) / 7);
Jours restants dans l'année
function joursRestants(instant) {
const finAnnee = new Date(instant.getFullYear() + 1, 0, 1);
const difference = finAnnee - instant;
return Math.floor(difference / (86400000));
}
Différence entre deux dates
function calculerIntervalle(debut, fin, unite) {
const ecart = fin - debut;
const jours = Math.floor(ecart / 86400000);
const heures = Math.floor((ecart % 86400000) / 3600000);
const minutes = Math.floor((ecart % 3600000) / 60000);
const secondes = Math.round((ecart % 60000) / 1000);
switch(unite) {
case 'jours': return `${jours} jours`;
case 'heures': return `${jours*24 + heures} heures`;
case 'minutes': return `${(jours*24 + heures)*60 + minutes} minutes`;
default: return `${jours}j ${heures}h ${minutes}min ${secondes}s`;
}
}
Calcul de dates relatives
function ajouterJours(instant, jours) {
const resultat = new Date(instant);
resultat.setDate(resultat.getDate() + jours);
return resultat;
}
const dateFuture = ajouterJours(new Date(), 30);
Intervalle hebdomadaire
function obtenirSemaineComplete(instant) {
const jourSemaine = instant.getDay();
const debutSemaine = ajouterJours(instant, -jourSemaine);
const finSemaine = ajouterJours(instant, 6 - jourSemaine);
return {
debut: debutSemaine,
fin: finSemaine
};
}