javascript format(e) moi une date

Comme alternative, il existe plusieurs solutions :

Elles permettent toutes les deux de manipuler des dates de manières plus fines qu’avec l’objet date de javascript, et bien sûr de pouvoir formater les dates. Sauf que chacun a son format pour de patterns (ils sont souvent proches, mais toujours différents).

Travaillant côté serveur avec du java, le besoin était de pouvoir formater les dates avec la même syntaxe, c’est la que les ennuis commencent.

Je n’ai pas trouvé mon bonheur sur internet, et j’ai commencé à customiser des librairies pour qu’elles correspondent à mon besoin. Cependant, je me suis retrouvé avec une librairie qui en faisant toujours plus que nécessaire et qui donc pesait plus de poids que nécessaire.

C’est à ce moment que j’ai arrêté les dégâts, j’ai laissé moment.js comme il était, je me suis retroussé les manches, et une petite journée plus tard : dateFormat.js est né.

Cette petite librairie (à peine 3 Ko après être passé par YUI Compressor) fait vraiment le minimum. Elle rajoute une méthode format à l’objet standard Date.

Tout le standard de SimpleDateFormatter n’est pas implémenté, mais une bonne partie pour l’instant, il manque G, W, F, z, Z, X…

Pour rester simple, les dates sont en UTC, mais ça évoluera peut-être dans le future.

Exemple d'utilisation de dateformat.js

var date = new Date();
date.format("dd/MM/yyyy hh:mm:ss");

En option, il y a aussi un objet DateFormatter qu’il est possible d’inclure, il permet de créer un formateur avec un pattern précis et de pouvoir le réutiliser, c’est 8 fois performant, si l’on doit formater plusieurs fois avec le même pattern.

Exemple d'utilisation du DateFormatter

var dateFormatter = new DateFormatter('dd/MM/yyyy hh:mm:ss');
var date = new Date();
dateFormatter.format(date);

J’ai l’impression d’ajouter ma petite pierre dans le monde du développement :

Les sources sont disponibles sur GitHub et une page dédiée va être ouverte où l’on peut télécharger la librairie avec les traductions nécessaires.