Skip to content
Snippets Groups Projects
user avatar
Giildo authored
b49ebef6

LimitDayJS

Coverage

main

production pipeline state production coverage

develop

develop pipeline state develop coverage

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