LimitDayJS
Coverage
main
develop
Projet
Ce projet est une bibliothèque pour gérer les dates et les heures de manière simple. Les autres bibliothèques sont basées sur l'objet Date et cet objet a des limitations : la date minimale est le mar. 20 avr. -271821 00:00:00 GMT et la date maximale est le mar. 13 sept. 275760 00:00:00 GMT.
Dans le projet Octant, nous devons gérer des dates avant et après les limitations de l'objet Date.
Usage
Installation
Le package n'est pas publié ni sur NPM, ni sur gitlab. Pour l'utiliser, il faut le cloner et l'utiliser en local.
Lien local
Avec un lien vers le dossier dans le package.json.
git clone https://git.unistra.fr/vue-unistra/limitdayjs.git
package.json
:
{
"dependencies": {
"limitdayjs": "file:./libs/limitdayjs"
}
}
Workspace PNPM
Avec un workspace dans le pnpm-workspace.yaml
. Dans le projet, créer un dossier libs
et cloner le projet dedans.
git clone https://git.unistra.fr/vue-unistra/limitdayjs.git libs/limitdayjs
Créer un fichier pnpm-workspace.yaml
à la racine du projet :
packages:
- libs/*
Dans le package.json
du projet :
{
"dependencies": {
"limitdayjs": "workspace:*"
}
}
Initialiser un Day
L'objet Day
peut être initialisé avec plusieurs formats :
objet
L'objet, pour initialiser un Day
, doit avoir le format suivant :
interface DayInitObject {
day?: number;
display_date?: string;
hour?: number;
millisecond?: number;
minute?: number;
month?: number;
second?: number;
today?: boolean;
year: number;
}
ISO 8601
On peut également utiliser une date au format ISO 8601
const date = '2024-10-09T14:57:30+02:00'
À noter, que l'année peut avoir autant de chiffre qu'on souhaite et être négative ou précédée d'un +
.
Exemple :
const date = new Day('+300000-10-09T14:57:30+02:00')
YYYY/MM/DD ou YYYY-MM-DD
La date peut également avoir le format : YYYY/MM/DD
ou YYYY-MM-DD
.
const date = new Day('2024/10/09')
... ou ...
const date = new Day('2024-10-09')
Accéder aux attributs
Les attributs : day
, displayDate
, hour
, millisecond
, minute
, month
, second
, year
sont disponibles en
lecture seule.
const date = '2024-10-09T14:57:30+02:00'
console.log(date.day) // 9
Day.utc
Méthode statique utc
pour créer un Day
.
const date = Day.utc('2024-10-09T14:57:30+02:00')
console.log(date.day) // 9
set
Pour modifier un attribut, on peut utiliser la méthode set
.
const date = new Day('2024-10-09T14:57:30+02:00')
date.set('day', 10)
console.log(date.day) // 10
En premier paramètre, on passe l'attribut à modifier, valeurs possibles :
day
hour
millisecond
minute
month
second
year
displayDate