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.
相关产品推荐
相关产品推荐

