Files
cram-naej.github.io/Marius/index.html
cram-naej 870efcd42c sens
2025-12-28 21:24:26 +01:00

116 lines
3.8 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Calcul de durée</title>
<style>
body {
font-family: Arial, sans-serif;
background: #f5f5f5;
padding: 20px;
}
.box {
background: white;
padding: 15px;
margin-bottom: 15px;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.anniversaire {
color: #e74c3c;
}
.evenement {
color: #3498db;
}
</style>
</head>
<body>
<h1>Différence de dates</h1>
<div class="box anniversaire" id="marius"></div>
<div class="box evenement" id="rencontre"></div>
<div class="box anniversaire" id="jean-marc"></div>
<div class="box anniversaire" id="anais"></div>
<script>
function calculerDifferencePrecise(dateCible, maintenant) {
let annees = maintenant.getFullYear() - dateCible.getFullYear();
let mois = maintenant.getMonth() - dateCible.getMonth();
let jours = maintenant.getDate() - dateCible.getDate();
// Ajustement si le jour du mois n'est pas encore atteint
if (jours < 0) {
mois--;
// Obtenir le nombre de jours du mois précédent
const dernierJourMoisPrecedent = new Date(
maintenant.getFullYear(),
maintenant.getMonth(),
0
).getDate();
jours += dernierJourMoisPrecedent;
}
// Ajustement si le mois n'est pas encore atteint
if (mois < 0) {
annees--;
mois += 12;
}
// Calcul des heures, minutes et secondes
const deltaMs = maintenant - dateCible;
const secondesTotales = Math.abs(Math.floor(deltaMs / 1000));
const heures = Math.floor((secondesTotales % 86400) / 3600);
const minutes = Math.floor((secondesTotales % 3600) / 60);
const secondes = secondesTotales % 60;
return {
annees: annees,
mois: mois,
jours: jours,
heures: heures,
minutes: minutes,
secondes: secondes,
deltaMs: deltaMs
};
}
function afficherDifference(dateCible, nom, elementId, type) {
const maintenant = new Date();
const difference = calculerDifferencePrecise(dateCible, maintenant);
let sens = difference.deltaMs > 0 ? "Il y a" : "Il reste";
const emoji = type === "evenement" ? "💖" : "🎂";
document.getElementById(elementId).innerHTML = `
<strong>${emoji} ${nom}</strong><br>
${sens} ${Math.abs(difference.annees)} années,
${Math.abs(difference.mois)} mois,
${Math.abs(difference.jours)} jours,
${Math.abs(difference.heures)} heures,
${Math.abs(difference.minutes)} minutes et
${Math.abs(difference.secondes)} secondes
`;
}
const dateAnniversaireMarius = new Date("2025-07-20T19:21:00");
const dateAnniversaireDeRencontre = new Date("2018-10-29T21:56:00");
const dateAnniversaireJeanMarc = new Date("1991-07-20T12:50:00");
const dateAnniversaireAnais = new Date("1983-06-06T07:45:00");
function mettreAJour() {
afficherDifference(dateAnniversaireMarius, "Anniversaire Marius", "marius", "anniversaire");
afficherDifference(dateAnniversaireDeRencontre, "Anniversaire de rencontre", "rencontre", "evenement");
afficherDifference(dateAnniversaireJeanMarc, "Anniversaire Jean-Marc", "jean-marc", "anniversaire");
afficherDifference(dateAnniversaireAnais, "Anniversaire Anaïs", "anais", "anniversaire");
}
// Mise à jour immédiate
mettreAJour();
// Mise à jour chaque seconde
setInterval(mettreAJour, 1000);
</script>
</body>
</html>