Bonsoir,
En parallèle de 2 ou 3 autres trucs, je continue - sporadiquement - de coder un calendrier liturgique.
J'en viens maintenant à un point (par où j'aurais peut-être dû commencer) qui est la définition des périodes dans mon calendrier : temps ordinaire (par défaut), temps de l'Avent, temps de carême, etc...
J'utilise Luxon comme librairie de date ***. Du coup j'ai utilisé l'api avec Interval qui me retourne deux dates start et end formatées en jour et mois comme je le demande :
Ma question : comment itérer là-dessus pour sortir tous les jours de la période ?
Mais peut-être que ma question n'est pas la bonne : ce que je cherche à faire c'est de trouver si un jour courant correspond à l'un des jours du temps de l'Avent, et donc s'il correspond à l'un des jours situés entre les deux dates.
Pour vous montrer quelque chose, j'ai réussi à isoler la partie de mon code concernée et à la reproduire de Node.js à une version front, sur un Pen : CodePen : Luxon Interval
Le code (pour laisser une trace sur le forum) :
Merci pour votre attention.
*** Ben oui, pourquoi faire comme tout le monde et de bénéficier de l'énorme support qu'offre moment.js ? Tout ça pour faire hipster... Blague mise à part : parce que moment lui-même la sponsorise, que j'ai lu des trucs sur l'immutabilité de cette lib' (mais elle n'est pas la seule) et surtout je la crois proche de la future API native pour js : Temporal.
Modifié par Olivier C (03 Dec 2020 - 01:12)
En parallèle de 2 ou 3 autres trucs, je continue - sporadiquement - de coder un calendrier liturgique.
J'en viens maintenant à un point (par où j'aurais peut-être dû commencer) qui est la définition des périodes dans mon calendrier : temps ordinaire (par défaut), temps de l'Avent, temps de carême, etc...
J'utilise Luxon comme librairie de date ***. Du coup j'ai utilisé l'api avec Interval qui me retourne deux dates start et end formatées en jour et mois comme je le demande :
2911 – 2412
Ma question : comment itérer là-dessus pour sortir tous les jours de la période ?
Mais peut-être que ma question n'est pas la bonne : ce que je cherche à faire c'est de trouver si un jour courant correspond à l'un des jours du temps de l'Avent, et donc s'il correspond à l'un des jours situés entre les deux dates.
Pour vous montrer quelque chose, j'ai réussi à isoler la partie de mon code concernée et à la reproduire de Node.js à une version front, sur un Pen : CodePen : Luxon Interval
Le code (pour laisser une trace sur le forum) :
const { DateTime, Interval } = luxon,
dayMonth = DateTime.local().toFormat('ddMM'),
year = DateTime.local().toFormat('yyyy'),
sundayBeforeChristmas = DateTime.fromFormat('2512' + year, 'ddMMyyyy').startOf('week'),
advent = Interval.fromDateTimes(sundayBeforeChristmas.plus({days: -22}), DateTime.fromFormat('2412' + year, 'ddMMyyyy')).toFormat('ddMM')
let data = {}
// Périodes liturgiques (dev' en cours) :
data.period = "Temps ordinaire"
if (dayMonth === advent) data.period = "Temps de l'Avent" // bien sûr ça ne fonctionne pas en l'état, c'est là où je bloque.
console.log(advent) // => 2911 – 2412
console.log(data.period)
Merci pour votre attention.
*** Ben oui, pourquoi faire comme tout le monde et de bénéficier de l'énorme support qu'offre moment.js ? Tout ça pour faire hipster... Blague mise à part : parce que moment lui-même la sponsorise, que j'ai lu des trucs sur l'immutabilité de cette lib' (mais elle n'est pas la seule) et surtout je la crois proche de la future API native pour js : Temporal.
Modifié par Olivier C (03 Dec 2020 - 01:12)