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

Bootstrap datepicker默认日期设置:当前日期及当前日期减30天

Bootstrap Datepicker 日期默认设置实用方案

嘿,这两个关于日期默认加载的问题我之前做项目时经常遇到,给你整理了具体的实现方法,都是很容易上手的~

问题1:如何在datepicker中默认加载当前日期?

有两种简单的实现方式,你可以根据自己的习惯选:

  • 方式一:初始化时直接指定默认日期
    在初始化datepicker的时候,通过defaultDate参数传入当前日期对象就行,datepicker会自动帮你处理格式化(记得要和你设置的format匹配哦)。代码示例:

    // 假设你的日期输入框ID是single-date
    $('#single-date').datepicker({
        defaultDate: new Date(), // 传入当前日期对象
        format: 'yyyy-mm-dd' // 按需求设置日期格式,比如'yyyy/mm/dd'也可以
    });
    
  • 方式二:先给输入框赋值当前日期,再初始化
    如果你想先把日期显示在输入框里再初始化组件,就先把当前日期转成指定格式,赋值给input,再初始化datepicker:

    const today = new Date();
    // 转成yyyy-mm-dd格式,也可以用自定义函数处理其他格式
    const formattedToday = today.toISOString().split('T')[0];
    $('#single-date').val(formattedToday).datepicker({
        format: 'yyyy-mm-dd'
    });
    

问题2:如何设置起始日期为当前日期减30天,结束日期为当前日期?

这个核心是计算“当前日期减30天”,用JavaScript的Date对象就能轻松搞定,再配合日期格式化就可以了:

首先可以写一个复用的日期格式化函数,避免重复代码:

function formatDate(date) {
    const year = date.getFullYear();
    // 月份是从0开始的,所以要加1,还要补0确保是两位数
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    return `${year}-${month}-${day}`;
}

然后计算日期并赋值:

const today = new Date();
// 复制当前日期对象,避免修改原对象
const thirtyDaysAgo = new Date(today);
// 减去30天,setDate会自动处理月份/年份的跳转(比如1月1号减30天会到去年12月)
thirtyDaysAgo.setDate(today.getDate() - 30);

// 给起始日期和结束日期输入框赋值并初始化datepicker
$('#start-date').val(formatDate(thirtyDaysAgo)).datepicker({
    format: 'yyyy-mm-dd'
});

$('#end-date').val(formatDate(today)).datepicker({
    format: 'yyyy-mm-dd'
});

当然你也可以在初始化时用defaultDate参数直接传入计算好的日期对象,效果是一样的:

$('#start-date').datepicker({
    defaultDate: thirtyDaysAgo,
    format: 'yyyy-mm-dd'
});

$('#end-date').datepicker({
    defaultDate: today,
    format: 'yyyy-mm-dd'
});

这样设置后,页面加载时起始日期就会自动显示30天前的日期,结束日期显示当天日期啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:25:22