You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Moment.js日期时间西班牙语本地化显示失效问题求助

解决Moment.js无法切换到西班牙语日期格式的问题

你的问题出在两个关键地方:错误的locale重置操作,以及可能未加载西班牙语语言包。咱们一步步来修复:

1. 先排查语言包是否正确加载

如果是在浏览器环境下,你需要确保在moment.js之后引入西班牙语的locale文件:

<script src="moment.js"></script>
<script src="moment/locale/es.js"></script>

如果是Node.js环境,直接引入语言包即可:

const moment = require('moment');
require('moment/locale/es');

如果你用的是包含所有语言包的moment-with-locales.js,这一步可以跳过

2. 修正你的update函数代码

你之前的代码里,date.locale(false)这一行会强制把当前moment实例的locale重置回默认的英文,直接抵消了前面的moment.locale('es')设置,这就是为什么输出没变化。

方案一:全局设置西班牙语locale

var datetime = null, date = null;
var update = function() {
    moment.locale('es'); // 全局设置为西班牙语
    date = moment(); // 等价于moment(new Date()),写法更简洁
    datetime.html(date.format('dddd, D MMMM YYYY, h:mm:ss a'));
};
datetime = $('#time-date');
update();
setInterval(update, 1000);

方案二:给单个moment实例设置locale(不影响全局)

如果你不想改变全局locale,也可以单独给当前日期实例指定西班牙语:

var datetime = null, date = null;
var update = function() {
    date = moment().locale('es'); // 仅当前实例使用西班牙语
    datetime.html(date.format('dddd, D MMMM YYYY, h:mm:ss a'));
};
datetime = $('#time-date');
update();
setInterval(update, 1000);

这样修改后,就能得到你想要的西班牙语格式输出:Domingo 28 Enero 2018, 11:31:51 am

内容的提问来源于stack exchange,提问作者M.E.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:43:04