2015-06-15 9 views
5

Sto usando il codice successivo per convertire una data ricevuta da un formato di database MySQL 1993-10-23 00:00:00 e visualizzarli in spagnolo:MomentJS in spagnolo

alert(moment('1993-10-23 00:00:00', 'YYYY-MM-DD', 'es')); 

23 PTOM sabato. Mi aspetto di ottenere sábado ma ottengo il prossimo:

Sat Oct 23 1993 00:00:00 GMT+0200 

provato anche aggiungendo: moment.locale('es-ES');, moment.locale('en-ES'); e moment.locale('es'); ma né opere.

Qual è il modo corretto di convertire le date da una lingua a un'altra?

+1

Stai utilizzando la sintassi per l'analisi di una stringa, non emetterlo. Vuoi [* moment() .format() *] (http://momentjs.com/docs/#/displaying/format/). Prestare attenzione ai formati ISO 8601 senza fuso orario, vengono trattati in modo diverso da ES5 (UTC) ed ES6 (locale). – RobG

+0

@RobG grazie, controlla la risposta, c'è qualcosa da aggiungere per il formato ISO? – Alpha2k

+0

ISO 8601 afferma che le date con un fuso orario mancante devono essere considerate locali, mentre ES5 dice di trattarle come UTC. ES6 cambia per essere coerente con ISO. Per sicurezza, dovresti usare "1993-10-23T00: 00: 00Z" se vuoi che venga trattato come UTC. Aggiungi il fuso orario richiesto se desideri qualcos'altro e analizzalo con Moment.js (o scrivi la tua funzione a 2 o 3 linee). L'analisi di Javascript analizza solo ISO 8601 UTC. – RobG

risposta

5

Questo sembra funzionare, grazie @RobG

var localLocale = moment('1993-10-23 00:00:00'); 
moment.locale('es'); 
localLocale.locale(false); 
alert(localLocale.format('LLLL')); 
Problemi correlati