5
Я использую следующий код для преобразования даты, полученной от формата базы данных MySQL 1993-10-23 00:00:00
и отображать его на испанском языке:MomentJS время в испанской
alert(moment('1993-10-23 00:00:00', 'YYYY-MM-DD', 'es'));
23 ОКТА суббота. Я бы ожидать, чтобы получить sábado
, но я получаю следующее:
Sat Oct 23 1993 00:00:00 GMT+0200
попытался также добавил: moment.locale('es-ES');
, moment.locale('en-ES');
и moment.locale('es');
, но ни работы.
Каков правильный способ преобразования дат с языка на другой?
Вы используете синтаксис для разбора строки, не выводит его. Вы хотите [* moment() .format() *] (http://momentjs.com/docs/#/displaying/format/). Будьте осторожны с форматами ISO 8601, подобными форматам без часового пояса, они обрабатываются по-разному с помощью ES5 (UTC) и ES6 (локальный). – RobG
@RobG спасибо, проверьте ответ, есть ли что-нибудь, что можно добавить для формата ISO? – Alpha2k
ISO 8601 говорит, что даты с отсутствующим часовым поясом должны рассматриваться как локальные, тогда как ES5 говорит, чтобы рассматривать их как UTC. Изменения ES6 соответствуют ISO. Разумеется, вы должны использовать «1993-10-23T00: 00: 00Z», если хотите, чтобы он рассматривался как UTC. Добавьте требуемый часовой пояс, если вы хотите что-то еще, и проанализируйте его с помощью Moment.js (или напишите свою собственную 2 или 3-строчную функцию). Разбор Javascript будет обрабатывать только ISO 8601 UTC. – RobG