如何使引导日期选择器选择当分钟视图模式:1时选择当月的最后一天而不是第一天

How to make bootstrap datepicker pick last day of the month instead of first day when minViewMode : 1

本文关键字:选择 最后一天 第一天 1时 模式 日期 何使引 选择器 分钟 视图      更新时间:2023-09-26

我正在使用这个版本的Bootstrap DatePicker:http://eternicode.github.io/bootstrap-datepicker/范围类型),我已经在JSFiddle上上传了我的演示:http://jsfiddle.net/qs5co179/6/

相关的 JavaScript:

$('#sandbox-container .input-daterange').datepicker({
    format: "dd/mm/yyyy",
    minViewMode : 1
});

我已经设置了参数minViewMode :1,所以我只能在日历上查看月份而不是整天,原因是我想严格用户输入:

  • 每月第一天:输入名称="开始"
  • 并严格要求它们只输入该月的最后一:输入 name="end"(但当您单击时,默认值始终是该月的第一天)

例如,我正在寻找的数据条目如下所示:

从: 01/07/2015 - 至: 30/09/2015.. 以这种格式 (日/月/年)

现在,当您在"To:"字段中单击月份时,我找不到任何参数来设置日历以选择该月的最后一,而不是始终

选择第一天。还有一件事,我想总是让"

从:"和"到:"有 3 个月的时间,而且不少于,我想总是让范围至少 3 个月

提前非常感谢...

您可以将

事件处理程序附加到changeDate事件(doc),并手动更改日期(即添加一个月,减去一天)。

对于日期处理部分,我会

  • 获取日期部分
  • 如果为 12 月,则将月份增加 1,然后将其更改为 1 月
  • 创建新的Date实例
  • date = date.setDate(date.getDate() - 1)以获得正确的日期

日期部分可以通过简单的字符串切片来减去:

var day = str.slice(0,2);
var month = str.slice(3,5);
var year = str.slice(6,10);