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

Eonasdan/bootstrap-datetimepicker自定义脚本配置失效求助

解决日期选择器Format和Locale配置不生效的问题

嘿,我瞅了你的代码,终于搞明白为啥你设置的format和locale没生效了,主要是两个地方踩坑了:

  • Locale配置方式不对:你直接传了locale: 'fr'这种字符串,但这个Materialize日期选择器不认这种写法,得要么手动定义语言配置对象,要么先引入对应语言的本地化脚本才行。
  • 初始化方式不规范:你没有用组件官方提供的初始化方法,导致配置根本没被加载进去。

给你改好的完整代码,直接用就行:

HTML代码

<input type="text" class="datepicker">

JavaScript代码

document.addEventListener('DOMContentLoaded', function() {
  // 先手动定义法语的语言配置(不用额外引入脚本的方式)
  const frenchLocale = {
    cancel: 'Annuler',
    clear: 'Effacer',
    done: 'Valider',
    previousMonth: '&laquo;',
    nextMonth: '&raquo;',
    months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
    monthsShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Déc'],
    weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
    weekdaysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
    weekdaysAbbrev: ['D', 'L', 'M', 'M', 'J', 'V', 'S']
  };

  // 获取页面上的日期选择器元素
  const datepickerElement = document.querySelector('.datepicker');
  
  // 用Materialize官方的初始化方法,把配置传进去
  M.Datepicker.init(datepickerElement, {
    format: 'dd/mm/yyyy', // 生效的日期格式
    locale: frenchLocale, // 生效的法语环境
    autoClose: true // 可选:选完日期自动关闭,提升体验
  });
});

补充说明

要是你不想手动写语言配置,可以去Materialize官方找对应语言的本地化脚本,下载后放到项目里,在Materialize主脚本之后引入,这样初始化时就能直接写locale: 'fr'了,不用手动定义对象。

这样改完,你的日期格式和语言环境应该就能正常生效啦~

内容的提问来源于stack exchange,提问作者natas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:17:09