Date
Fonctions pour manipuler des dates et heures via le type propriétaire TheDate (type TheDate = `date${number}${"-" | "+"}). Ce format sérialisable encode un timestamp Unix sécurisé, traverse les protocoles HTTP sans perte et garantit une manipulation immutable.
Comment faire les imports ?
La bibliothèque expose les namespaces DDate et D depuis l'entrée principale ou en import direct (tree-shaking friendly), ce qui permet de ne charger que ce dont vous avez besoin.
import { DDate, D } from "@duplojs/utils";
import * as DDate from "@duplojs/utils/date";
import * as D from "@duplojs/utils/date";Création
create
Construit un TheDate depuis un Date, un timestamp ou un autre TheDate et renvoie un Either (MayBe).
createOrThrow
Version stricte de create qui lance CreateTheDateError en cas d'entrée invalide.
createTime
Construit un TheTime à partir de millisecondes ou d'un objet de temps structuré.
createTimeOrThrow
Version stricte de createTime qui lance une exception en cas d'entrée invalide.
now
Retourne le timestamp exact du moment courant sous forme de TheDate.
today
Génère le début de journée (minuit) en TheDate.
yesterday
Retourne le début de la journée précédente.
tomorrow
Retourne le début de la journée suivante.
Conversion & validation
toNative
Convertit un TheDate en Date JavaScript.
toTimestamp
Expose le timestamp en millisecondes et valide la cohérence de la valeur.
toTimeValue
Convertit un TheTime en millisecondes en appliquant les bornes de sécurité.
isSafeTimeValue
Vérifie qu'une valeur de temps est un entier sûr dans les bornes.
getTimezoneOffset
Retourne le décalage en millisecondes pour un TheDate.
applyTimezone
Applique un décalage de fuseau horaire à un TheDate.
toISOString
Retourne la représentation ISO 8601 d'un TheDate.
format
Affiche un TheDate avec un format personnalisé et un fuseau horaire.
isSafeTimestamp
Vérifie qu'un timestamp est compris entre minTimestamp et maxTimestamp.
is
Vérifie qu'une chaîne correspond au format TheDate (type guard).
isTime
Vérifie qu'une chaîne correspond au format TheTime (type guard).
Lecture des composants
getYear
Revoie l'année d'un TheDate.
getMonth
Renvoie le mois (1-12) d'un TheDate.
getDayOfMonth
Renvoie le jour du mois (1-31) d'un TheDate.
getDayOfWeek
Renvoie le jour de la semaine (1-7) d'un TheDate, où 1 = lundi et 7 = dimanche.
getWeekOfYear
Renvoie la semaine de l'année (1-53) d'un TheDate selon la norme ISO 8601.
getDayOfYear
Renvoie le jour de l'année (1-366) d'un TheDate.
getHour
Renvoie l'heure (0-23) d'un TheDate.
getMinute
Renvoie les minutes (0-59) d'un TheDate.
getSecond
Renvoie les secondes (0-59) d'un TheDate.
getMilliseconds
Renvoie les millisecondes (0-999) d'un TheDate.
getFirstDayOfWeek
Renvoie le premier jour de la semaine (lundi) pour un TheDate.
getLastDayOfWeek
Renvoie le dernier jour de la semaine (dimanche) pour un TheDate.
getFirstDayOfMonth
Renvoie le premier jour du mois pour un TheDate.
getLastDayOfMonth
Renvoie le dernier jour du mois pour un TheDate.
Opérations temporelles
Ajouts
addYears
Ajoute un nombre d'années positif à un TheDate.
addMonths
Ajoute des mois en tenant compte des années bissextiles.
addWeeks
Décale une date par multiples de 7 jours.
addDays
Ajoute un nombre de jours positif.
addHours
Ajoute des heures sans convertir en millisecondes manuellement.
addMinutes
Ajoute des minutes.
addSeconds
Ajoute des secondes.
addMilliseconds
Ajoute des millisecondes en restant type-safe.
addTime
Ajoute une durée TheTime à un TheDate ou un TheTime.
Soustractions
subtractYears
Soustrait un nombre d'années.
subtractMonths
Soustrait des mois en conservant la cohérence des jours.
subtractWeeks
Soustrait des semaines.
subtractDays
Soustrait des jours.
subtractHours
Soustrait des heures.
subtractMinutes
Soustrait des minutes.
subtractSeconds
Soustrait des secondes.
subtractMilliseconds
Soustrait des millisecondes.
subtractTime
Soustrait une durée TheTime à un TheDate ou un TheTime.
Comparaison
greater
Vérifie si une date est strictement supérieure à une autre.
greaterThan
Compare en incluant l'égalité.
less
Vérifie si une date est strictement inférieure.
lessThan
Compare en incluant l'égalité pour l'infériorité.
between
Contrôle l'appartenance à un intervalle ouvert.
betweenThan
Variante incluant les bornes.
Comparaison (TheTime)
greaterTime
Vérifie si une durée est strictement supérieure à une autre.
greaterThanTime
Compare en incluant l'égalité pour TheTime.
lessTime
Vérifie si une durée est strictement inférieure.
lessThanTime
Compare en incluant l'égalité pour l'infériorité.
betweenTime
Contrôle l'appartenance d'un TheTime à un intervalle ouvert.
betweenThanTime
Variante inclusive pour TheTime.
sort
Trie un tableau de dates en ordre croissant ou décroissant.
sortTimes
Trie un tableau de durées en ordre croissant ou décroissant.
max
Retourne la date la plus récente d'un tuple.
maxTime
Retourne la durée la plus grande d'un tuple.
minTime
Retourne la durée la plus petite d'un tuple.
min
Retourne la date la plus ancienne d'un tuple.
Autres utilitaires
round
Arrondit une date à l'unité choisie (day, month, etc.).
each
Génère toutes les dates d'un intervalle selon une granularité (Unit).
closestTo
Trouve la date la plus proche d'une cible dans un itérable.
Constantes & types
constants
Expose minTimestamp, maxTimestamp et les durées usuelles (jour, semaine, etc.).
types/timezone
Énumération complète des fuseaux horaires IANA.
types/unit
Liste les unités disponibles pour round, each, etc.
types/time
Décrit les composantes temporelles (Hour, Minute, Second, ...).
types/isLeapYear
Fournit le type utilitaire pour déterminer si une année est bissextile.
