Documentation

Cookies & confidentialité

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Vous pouvez modifier vos préférences à tout moment depuis le pied de page.

Fonctions de dates

Les dates sont essentielles dans la gestion d'entreprise : échéances, délais, planification. Miel offre un ensemble complet de fonctions pour les manipuler.

Créer des dates

today()

Retourne la date du jour. C'est la fonction de date la plus utilisée.

JavaScript
today() // Date du jour

// Calculer une date future
today() + 7                                // Dans 7 jours
today() + 30                               // Dans 30 jours

// Calculer une date passée
today() - 7                                // Il y a 7 jours

Bon à savoir : Vous pouvez ajouter ou soustraire des jours directement avec les opérateurs + et -.

date(jour, mois, année)

Crée une date à partir de ses composants (jour, mois, année).

JavaScript
date(15, 3, 2025) // 15 mars 2025
date(1, 1, 2026)                                     // 1er janvier 2026
date(31, 12, 2024)                                   // 31 décembre 2024

// Créer une date dynamique
date(1, commande.date.month(), commande.date.year())  // Premier jour du mois de la commande

Attention : L'ordre des paramètres est jour, mois, année, conformément au format français.

date.addDays(nombreDeJours)

Ajoute un nombre de jours à une date et retourne la nouvelle date. Pratique lorsque la date provient d'un champ ou d'une autre formule.

JavaScript
date(15, 3, 2025).addDays(10) // 25 mars 2025
facture.dateEmission.addDays(30)                             // Échéance à 30 jours

// Un nombre négatif retire des jours
today().addDays(-7)                                              // Il y a 7 jours

Bon à savoir : Les opérateurs + et - font la même chose en plus court. Un nombre décimal est tronqué (1,7 → 1 jour), et si la date est vide le résultat est vide.

Extraire des composants

Ces fonctions permettent d'extraire une partie spécifique d'une date.

date.year()

Extrait l'année d'une date (nombre à 4 chiffres).

JavaScript
today().year() // 2026 (si nous sommes en 2026)
commande.dateCreation.year()                  // Année de création
date(15, 6, 2025).year()                          // 2025

date.month()

Extrait le mois d'une date (0-11, où 0 = janvier).

JavaScript
today().month() // 0 pour janvier, 11 pour décembre
date(15, 3, 2025).month()                          // 2 (mars = mois 3, index 2)

Attention : Les mois sont indexés à partir de 0, pas de 1. Janvier = 0, Février = 1, ..., Décembre = 11.

date.day()

Extrait le jour du mois d'une date (1-31).

JavaScript
today().day() // 19 (si nous sommes le 19)
facture.dateEcheance.day()                   // Jour d'échéance
date(25, 12, 2025).day()                         // 25

Calculs de périodes

Ces fonctions calculent des durées entre deux dates.

dateDebut.daysBetweenInclusive(dateFin)

Calcule le nombre de jours entre deux dates, en incluant les deux bornes.

JavaScript
                     // Du 1er au 5 janvier = 5 jours
date(1, 1, 2025).daysBetweenInclusive(date(5, 1, 2025)) // 5

// Nombre de jours depuis la création
commande.dateCreation.daysBetweenInclusive(today())

// Durée d'un projet
projet.dateDebut.daysBetweenInclusive(projet.dateFin)

dateDebut.businessDays(dateFin)

Calcule le nombre de jours ouvrables (lundi à vendredi) entre deux dates, incluses.

JavaScript
              // Jours ouvrés sur une semaine complète
date(6, 1, 2025).businessDays(date(12, 1, 2025)) // 5 (lun-ven)

// Jours ouvrés pour une mission
mission.dateDebut.businessDays(mission.dateFin)

// Calculer le coût d'une prestation
prestataire.tarifJournalier * mission.debut.businessDays(mission.fin)

Utile pour : Calculer des durées de mission, des coûts de prestation, des délais de livraison professionnels, etc.

Formatage

Ces fonctions transforment une date en texte lisible.

date.formatDDMMYYYY()

Formate une date au format français JJ/MM/AAAA.

JavaScript
today().formatDDMMYYYY() // "19/01/2026"
facture.dateEmission.formatDDMMYYYY()                   // "15/03/2025"
date(25, 12, 2025).formatDDMMYYYY()                         // "25/12/2025"

date.monthName()

Retourne le nom du mois en toutes lettres.

JavaScript
today().monthName() // "janvier" (si janvier)
commande.dateCreation.monthName()                  // "mars", "avril", etc.

// Créer un libellé de période
"Facture de ".concat(facture.date.monthName(), " ", facture.date.year())

Exemples pratiques

Calculer une date d'échéance

JavaScript
// Échéance à 30 jours
facture.dateEmission + 30

// Échéance fin de mois suivant
let moisFacture = facture.dateEmission.month();
let anneeFacture = facture.dateEmission.year();
moisFacture === 11
? date(31, 1, anneeFacture + 1)
: date(28, moisFacture + 2, anneeFacture)

Vérifier si une facture est en retard

JavaScript
facture.dateEcheance < today() && facture.payee === false
? "⚠️ En retard de " + (today() - facture.dateEcheance) + " jours"
: facture.dateEcheance === today()
? "📌 Échéance aujourd'hui"
: "✓ Dans les temps"

Filtrer les commandes du mois en cours

JavaScript
let commandes = findObjects(commande, {});
client.commandes.filter(commande => commande.dateCreation.month() === today().month()
  && commande.dateCreation.year() === today().year()
)

Calculer le coût d'une prestation

JavaScript
let joursOuvres = mission.dateDebut.businessDays(mission.dateFin);
let tarifJournalier = consultant.tarifJournalier;
let coutHT = joursOuvres * tarifJournalier;
let coutTTC = coutHT * 1.20;

joursOuvres.concat(" jours × ", tarifJournalier, " € = ",
  coutTTC.toFixed(2), " € TTC"
)

Formater une période

JavaScript
"Du ".concat(projet.dateDebut.formatDDMMYYYY(),
  " au ", projet.dateFin.formatDDMMYYYY(),
  " (", projet.dateDebut.daysBetweenInclusive(projet.dateFin), " jours)"
)

// Résultat: "Du 01/03/2025 au 31/05/2025 (92 jours)"

Prochaine étape

Continuez avec les fonctions numériques pour formater des montants, calculer des pourcentages et manipuler des nombres.