Skip to content

Date ​

Fonctions pour manipuler des dates et durées immutables avec TheDate (classe étendue de Date) et TheTime (classe immutable de durée).
Le namespace expose aussi les formats sérialisés SerializedTheDate (date${number}${"-" | "+"}) et SerializedTheTime (time${number}${"-" | "+"}) pour le transport et le stockage texte.

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.

typescript
import { DDate, D } from "@duplojs/utils";
import * as DDate from "@duplojs/utils/date";
import * as D from "@duplojs/utils/date";

Types de base ​

TheDate ​

Classe immutable étendue de Date pour la manipulation date/heure.

TheTime ​

Classe immutable de durée, utilisée dans le contexte des APIs 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 un instant environ un jour avant maintenant.

tomorrow ​

Retourne un instant environ un jour après maintenant.

Conversion & validation ​

toNative ​

Convertit des valeurs TheDate/TheTime vers Date/number natifs JavaScript.

toTimestamp ​

Expose le timestamp en millisecondes et valide la cohérence de la valeur.

getDifference ​

Retourne la différence signée entre deux dates sous forme de TheTime.

toTimeValue ​

Convertit un TheTime en millisecondes en appliquant les bornes de sécurité.

computeTime ​

Convertit un TheTime ou SerializedTheTime vers une unité cible.

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.

formatTime ​

Formate un TheTime via une chaîne de format personnalisée.

isSafeTimestamp ​

Vérifie qu'un timestamp est compris entre minTimestamp et maxTimestamp.

serialize ​

Convertit TheDate/TheTime en SerializedTheDate/SerializedTheTime.

isSerializedTheDate ​

Vérifie si une chaîne est un SerializedTheDate valide.

isSerializedTheTime ​

Vérifie si une chaîne est un SerializedTheTime valide.

is ​

Vérifie qu'une valeur est une instance de TheDate (type guard).

isTime ​

Vérifie qu'une valeur est une instance de 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é.

equal ​

Vérifie si deux dates représentent le même timestamp.

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.

Diffusé sous licence MIT.