【问题标题】:MomentJS time in spanish西班牙语的 MomentJS 时间
【发布时间】: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


【解决方案1】:

这似乎可行,谢谢@RobG

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

【讨论】:

    【解决方案2】:

    以下方法对我有用

    moment(agreement.dateStart).locale('es').format('LLLL')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      相关资源
      最近更新 更多