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

daterangepicker插件使用问题:库未定义及日期格式异常

daterangepicker插件两类问题的解决方案

问题1:JSFiddle提示库未定义,本地环境正常运行

原因:JSFiddle未正确引入daterangepicker的依赖资源,本地环境已配置好所有依赖。
解决步骤:

  • 在JSFiddle的「External Resources」面板中,依次添加以下依赖:
    1. jQuery(推荐3.x稳定版)
    2. daterangepicker的JS文件
    3. daterangepicker的CSS文件
  • 确保依赖的CDN地址有效,加载顺序正确(jQuery必须在daterangepicker之前)

问题2:日期选择后显示异常,提交后日期错误

原因分析:

  1. 代码中format: '#ucase(session.dateMaskFormat)#'是服务器端模板语法,若该变量未正确渲染为moment.js兼容的日期格式字符串,daterangepicker无法正确解析日期,导致显示和提交混乱。
  2. 若模板未解析直接输出该字符串,插件会使用默认格式或出现解析错误,引发日期错位(比如把月份和日期、年份搞混)。
  3. 后端接收时若未按照前端输出的日期格式解析,也会导致提交后日期变形。

解决方法:

  • 先测试固定格式:将format暂时硬编码为moment.js规范格式,比如format: 'DD/MM/YYYY'(日/月/年)或'MM/DD/YYYY'(月/日/年),验证插件是否能正常显示和提交日期。
  • 排查服务器端变量:确认session.dateMaskFormat的值是否符合moment格式规则(注意区分MM是两位月份,mm是分钟;DD是两位日期,d是一位日期),且模板已正确将其渲染为字符串(比如最终输出应为'DD/MM/YYYY'而非模板标签)。
  • 检查依赖:确保项目中已正确引入moment.js(daterangepicker依赖moment处理日期解析)。
  • 后端适配:若前端日期格式为日/月/年,后端需按照该格式解析日期字符串,避免将日当成月导致日期错误。

你的代码参考

$('.iDate').daterangepicker({
    singleDatePicker: true,
    showDropdowns: true,
    locale: {
        format: '#ucase(session.dateMaskFormat)#',  
        "separator": "/",
        daysOfWeek: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
        firstDay: 1
    }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:15:57