Node.js: particolarità della localizzazione delle date
Le versioni più recenti di Node supportano il costruttore Intl.DateTimeFormat per la localizzazione ma l'insieme dei locales deve essere abilitato esplicitamente.
La documentazione su DateTimeFormat mostra chiaramente come oggi il linguaggio JavaScript sia perfettamente allineato con gli altri linguaggi per il web (come PHP).
Grazie a questo costruttore, scegliendo una lingua specifica si può formattare un oggetto data in un modo conforme alla lingua usata dall'utente finale.
'use strict';
let date = new Date();
let dtf = new Intl.DateTimeFormat('it-IT');
console.log(dtf.format(date));
Nei browser l'output sarà 6/2/2019 ma in Node.js produrrà 2/6/2019, ossia un output conforme alla lingua predefinita di Node, en-US.
Leggendo la documentazione di Node.js scopriamo che l'internazionalizzazione deve essere esplicitamente abilitata o in fase di compilazione o in fase di esecuzione.
In altre parole, se ciò non viene fatto, Node utilizzerà la sua lingua ed il suo locale (localizzazione) predefinito, ossia en-US.
Commenti