Javascript moment.js - 西班牙语的日期和时间

时间:2018-01-28 10:35:46

标签: javascript jquery datetime momentjs

我有以下代码:

 /* ------------------------------------------------------------------------
  * SETTING DATE AND TIME
  * ------------------------------------------------------------------------
  */
 var datetime = null,
     date = null;
 var update = function() {
     date = moment(new Date());
     datetime.html(date.format('dddd, D MMMM  YYYY, h:mm:ss a'));
 };
 datetime = $('#time-date');
 update();
 setInterval(update, 1000);

使用当前日期和时间更新HTML div。

我得到了以下输出:

Sunday 28 January 2018, 11:31:51 am

我想用西班牙语获得相同的输出:

Domingo 28 Enero 2018, 11:31:51 am

我试过this post但没有成功:

 var update = function() {
     date = moment(new Date());
     moment.locale('es');
     date.locale(false);
     datetime.html(date.format('dddd, D MMMM  YYYY, h:mm:ss a'));
 };

它不会改变任何东西,输出仍然是相同的。

2 个答案:

答案 0 :(得分:1)

moment(.min).js本身外,您还需要加载所需的语言环境。使用:

require('moment/locale/es.js');

如果您使用节点,或者传统上包含语言环境文件,例如:

<script src="{path-to-moment-lib}/locale/es.js">

注意:我强烈反对使用moment-with-locales.js,即使在缩小版本中也是如此。这是巨大的(约15k行),它加载所有语言环境。这仅适用于需要在同一页面上显示多个区域设置且真正属于国际化的网站。它有很大的开销。如果您需要最多3-4种语言,那么只加载您需要的语言环境文件会好得多。

答案 1 :(得分:1)

moment.js's website

中有不同的下载选项

带语言环境的Moment.js

moment-with-locales.js

具有区域设置的Moment.js(缩小版本)

moment-with-locales.min.js

将此版本与当前版本交换后,您可以了解如何自定义来自 here 的内容,例如区域设置。

更高性能的选项

您的其他选择只是下载特定的区域设置文件并在您不想下载所有区域设置时实施它。这是一个更好的选择。

您的西班牙语选项是:

Spanish [es]

Spanish (United States) [es-us]

Spanish (Dominican Republic) [es-do]