Ma base de données crée une série de valeurs timestamptz à l'aide de la fonction now()::TEXT
. Dans plusieurs appels API, je reçois ces valeurs, mais j'ai du mal à les transformer en objet Date Javascript.
Voici un exemple de chaîne Timestamptz que Postgres renvoie : 2019-09-12 09:52:52.992823+00
Le problème est que si j'essaie de faire new Date("2019-09-12 09:52:52.992823+00")
, alors il y a un comportement capricieux dans le navigateur. Il semble que je doive d'abord ajouter un "Z" à la chaîne pour obtenir l'heure correcte (à cause des fuseaux horaires ?)
De plus, Firefox ne semble pas l'analyser du tout (mais Chrome le fait). Si je supprime le "+00", cela semble fonctionner.
J'ai donc trouvé cette "solution" qui semble fonctionner sur les deux navigateurs, mais je dois l'appeler sur toutes mes dates avant de travailler avec elles, et cela semble un peu fragile. Est-ce la bonne méthode ?
function fixDate(date) {
return date.replace("+00", "") + "Z";
}