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

JqGrid日期格式化异常求助:30-Oct-24转30-Oct-2024失败并乱码

JqGrid日期格式化问题解决及格式规则查询

格式化失效乱码的修复

你当前的代码出现问题,大概率是月份缩写的locale兼容问题,或者格式符号的细微匹配错误:

  • JqGrid的date formatter依赖jQuery UI Datepicker的格式规则,d-MMM-yy本身是匹配30-Oct-24的,但如果你的页面没有加载英文locale的jQuery UI资源,JqGrid无法识别Oct这个英文月份缩写,就会输出乱码。
  • 调整方案:
    • 引入英文版本的jQuery UI locale文件(比如jquery.ui.datepicker-en.js),或者在JqGrid初始化前设置日期格式化的locale:
      $.jgrid.formatter.date = {
        srcformat: 'd-MMM-yy',
        newformat: 'dd-MMM-yyyy',
        mask: 'd-MMM-yy',
        locale: 'en'
      };
      
    • 也可以尝试将srcformat改为dd-M-y(如果源数据的日始终是两位),不过核心是确保JqGrid能解析英文月份缩写。
    • sorttype: 'date'的设置是正确的,但必须保证源日期能被解析为合法的Date对象,否则排序会异常。

日期格式规则的查询位置

JqGrid的日期格式规则完全复用jQuery UI Datepicker的格式符号,你可以通过以下途径获取完整列表:

  • 查看项目中已引入的jQuery UI离线文档里的Datepicker章节,里面会详细列出所有格式符号的含义,比如:
    • d:无前置零的日期(1-31)
    • dd:带前置零的日期(01-31)
    • M/MMM:月份缩写(Jan-Dec,英文环境)
    • y:两位年份(24)
    • yy:四位年份(2024)
  • 也可以直接查阅JqGrid本地文档中formatter: 'date'的相关章节,里面会明确说明格式规则和使用示例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:06:04