【发布时间】:2015-06-15 10:08:16
【问题描述】:
我正在使用下一个代码来转换从 MySQL 数据库格式1993-10-23 00:00:00 接收到的日期并以西班牙语显示:
alert(moment('1993-10-23 00:00:00', 'YYYY-MM-DD', 'es'));
10 月 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()。请注意没有时区的 ISO 8601 类格式,ES5(UTC)和 ES6(本地)对它们的处理方式不同。
-
@RobG 谢谢,检查答案,ISO 格式有什么要添加的吗?
-
ISO 8601 规定缺少时区的日期应视为本地日期,而 ES5 规定将其视为 UTC。 ES6 更改为与 ISO 保持一致。可以肯定的是,如果您希望将其视为 UTC,则应使用 '1993-10-23T00:00:00Z'。如果您想要其他内容,请添加所需的时区并使用 Moment.js 解析它(或编写您自己的 2 或 3 行函数)。 Javascript 解析只会解析 ISO 8601 UTC。
标签: javascript momentjs