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

jQuery Datepicker异常:无法设置正确格式的当前日期

解决jQuery Datepicker默认日期与格式不匹配的问题

我来帮你搞定这个头疼的Datepicker问题!你遇到的情况其实是默认日期设置和显示格式配置没配合好导致的,咱们一步步来解决:

核心问题分析

  • 当你用new Date()设默认日期时,Datepicker能正确识别今日,但因为没指定dateFormat,所以用了插件默认格式(比如mm/dd/yy),不符合你的需求;
  • 当你不用new Date(),直接传字符串格式的日期时,因为格式和Datepicker预期的不匹配,导致解析错误,才会莫名跳到2019年3月。

正确的配置方案

只需要在Datepicker初始化时同时配置dateFormat(指定你要的格式)和defaultDate(设置今日)即可,代码示例如下:

$(function() {
  // 初始化Datepicker
  $("#your-datepicker-id").datepicker({
    dateFormat: "yy-mm-dd", // 这里替换成你需要的格式,比如"dd/mm/yy"、"MM dd, yy"等
    defaultDate: new Date(), // 设置默认显示今日
    changeMonth: true, // 可选:允许切换月份
    changeYear: true   // 可选:允许切换年份
  });
});

格式参数说明

你可以根据需求替换dateFormat的值,常用的格式符有:

  • d:不带前导零的日期(1-31)
  • dd:带前导零的日期(01-31)
  • m:不带前导零的月份(1-12)
  • mm:带前导零的月份(01-12)
  • yy:两位年份(24)
  • yyy:四位年份(2024)
  • M:缩写月份名(Jan)
  • MM:完整月份名(January)

额外注意事项

如果你需要获取用户选中的日期并保持指定格式,可以用$.datepicker.formatDate()方法:

// 获取选中的日期对象
var selectedDate = $("#your-datepicker-id").datepicker("getDate");
// 格式化为指定样式
var formattedDate = $.datepicker.formatDate("yy-mm-dd", selectedDate);
console.log(formattedDate); // 输出:2024-05-20(示例日期)

这样配置后,Datepicker既能默认显示今日,又能按照你需要的格式展示啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:29:08