Tÿme pre-release
Prenez note que ce plugin est en alpha pré-release. Vous pouvez quand même l'essayer et bidouiller sur un forum test en attendant, et bien sûr me partager vos retours.
Tÿme est un outil permettant de normaliser les nombreux formats de dates utilisés sur ForumActif. Il est compatible avec les formats du panneau d'administrateur, mais également ceux choisis par les utilisateurs d'un forum.
Installer le plugin
Sur forum
Le plugin est compilé en un seul fichier et doit être installé en script externe. Ouvrez votre template overall_footer_end
(fin du bas de page) et juste avant la fermeture de la balise </body>
, insérez le code suivant :
<!-- Importation de Tyme.js / lien temporaire -->
<script src="https://cdn.jsdelivr.net/npm/@poumon/tyme@pre-release/dist/tyme.min.js"></script>
Comme module
Pour utiliser Tyme dans vos projets, vous pouvez utiliser la commande npm i @poumon/tyme
et l'importer comme module.
Utilisation
Il suffit d'appeler Tyme en lui passant une date ou un element HTML contenant le texte d'une date, puis d'appeler la méthode qui nous intéresse, selon le cas de figure :
/* Pour transformer une date en format "il y a..." : */
const fromNow = new Tyme(date || element).fromNow();
/* Pour transformer une date en format "il y a...", mais préciser une unité en jours, semaines, mois, etc : */
const fromNowBy = new Tyme(date || element).fromNowBy(unit);
/* Pour transformer une date en tout autre format : */
const toFormat = new Tyme(date || element).parseToFormat(format);
new Tyme(date)
- date |
string | HTMLElement
Si c’est unHTMLElement
, sontextContent
doit uniquement contenir une date valide sous forme de texte. Ce constructeur permet d'initialiser une date qui pourra être manipuler par les méthodes suivantes
.fromNow(): string
- Renvoie l’intervalle humanisé depuis la date (ex. : « il y a 3 jours », « dans 2 heures »).
.fromNowBy(unit: string): string
- unit | Accepte (FR/EN) :
"secondes" | "minutes" | "heures" | "jours" | "semaines" | "mois" | "années"
ou"seconds" | "hours" | "days" | "weeks" | "months" | "years"
. Renvoie l'intervalle humanisé écoulé dans l’unité demandée depuis la date (ex. : « il y a 3 jours », « dans 2 heures »).
.parseToFormat(format: string): string
- format |
string
Formate la date selon le format ISO 8601 fourni (ex. YYYY-MM-DD, YYYY-MM-DDTHH:mm:ssZ).
Exemples
new Tyme("2025-06-08T12:40:00").fromNow(); // "il y a 2 mois"
new Tyme(el).fromNowBy("jours"); // 3
new Tyme("2025-06-08").parseToFormat("YYYY-MM-DD"); // "2025-06-08"