A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【简介】
daterangepickerbootstrap的一个日历插件,主要用来选择时间段的插件,这个插件很好用也很容易操作。下面主要是日期范围选择实现,单日期时间选择
【常用参数的介绍】
l // startDate: (Date 对象, moment 对象或者string类型) 初始化日期范围选中的开始时间。
l // endDate: (Date 对象, moment 对象或者string类型) 初始化日期范围选中的结束时间。
l // minDate: (Date 对象, moment 对象或者string类型) 用户可以选择的最早时间。
l // maxDate: (Date 对象, moment 对象或者string类型) 用户可以选择的最晚时间。
l // dateLimit: (object类型) 选中的开始和结束日期之间最大时间间隔。 可以是能够添加到moment对象( moment.add()) 中的任何属性( 如: days, months)。
l // showDropdowns: (boolean类型) 在日历上面显示年和月的下拉框, 选中后将跳到指定的年和月
l // showWeekNumbers: (boolean类型) 在日历上每周开始的地方显示本地化的周编号。
l // showISOWeekNumbers: (boolean类型) 在日历上每周开始的地方显示国际标准的周编号。
l // timePicker: (boolean类型) 允许选择日期和时间, 而不是局限于日期。
l // timePickerIncrement: (number类型) 时间选择框中分钟列的增加步长( 如: 设置为30后只允许选择以030结束的时间)。
l // timePicker24Hour: (boolean类型) 使用24小时制来代替12小时制, 同时删除AM / PM选择框。
l // timePickerSeconds: (boolean类型) 在时间选择框中显示秒选择列。
l // ranges: (object类型) 设置用户可以选择的预定义日期范围。 每个键名即范围的标签名, 对应值是两个日期组成的数组, 来表示范围的界限。
l // showCustomRangeLabel: (boolean类型) 当使用范围选项时, 在预定义范围列表的末尾显示标记为 "Custom Range"
l // 的标签。 当选择的日期范围与任何一个预定义的范围都不匹配时, 该选项将被高亮显示。 单击它显示日历可以选择新的范围。
l // alwaysShowCalendars: (boolean类型) 通常, 如果使用范围选项指定了预定义日期范围, 则用户除了单击 "Custom Range"
l // 之外, 日期选择器都不会显示用于选择自定义日期范围的日历。 当选项设置为true时, 将始终显示用于选择自定义日期范围的日历。
l // opens: (string: 'left' / 'right' / 'center') 设置日期选择器以绑定元素左对齐、 右对齐或者居中显示。
l // drops: (string: 'down'
l // or 'up') 设置日期选择器在绑定元素的下面( 默认) 或者上面显示。
l // buttonClasses: (array类型) 为日期选择器中的所有button元素添加CSS类。
l // applyClass: (string类型) 为日期选择器中的apply按钮添加类。
l // cancelClass: (string类型) 为日期选择器中的cancel按钮添加类。
l // locale: (object类型) 允许为按钮和标签提供本地化的字符串, 自定义日期格式, 并更改日历中周的第一天。 查看配置生成器中的“ locale配置( 包含设置示例)”, 以了解如何自定义这些选项。
l // singleDatePicker: (boolean类型) 只显示一个日历来选择一个日期, 而不是带有两个日历的范围选择器; 回调函数中提供的开始和结束日期将和选择的单个日期相同。
l // autoApply: (boolean类型) 隐藏applycancel按钮。 选择两个日期或预定义范围时, 会自动应用新的日期范围。
l // linkedCalendars: (boolean类型) 启用时, 显示的两个日历将始终为两个连续的月份( 如: 1 月和2月), 并且当单击日历上方的左侧或右侧箭头时, 两个日历都将变化。 禁用时, 两个日历可以单独变化并显示任何月 / 年。
l // isInvalidDate: (function类型) 在显示两个日历之前传递一个日期参数, 然后通过返回truefalse, 标示该日期是否可供选择。
l // isCustomDate: (function类型) 在显示两个日历之前传递一个日期参数, 然后将返回的CSS类名字符串传或者数组应用在日历中的该日期上。
l // autoUpdateInput: (boolean类型) 标示日期范围选择器是否应在初始化和所选日期改变时, 自动更新绑定在 < input > 元素上的值。
l // parentEl: (string类型) 给日期选择器添加父元素的jQuery选择器, 如果没有提供, body将被作为父元素。
【代码与效果】
1.日期时间范围选择(双日历,可选择范围)
Html代码
[HTML] 纯文本查看 复制代码
<div class="box">

<label for="datePicker">双日历</label>

<input type="text" name="datePicker" class="datePicker" id="datePicker">

</div>
Js代码
[JavaScript] 纯文本查看 复制代码
$('input[name="datePicker"]').daterangepicker({

timePicker: true, //显示时间

timePicker24Hour: true, //时间制

timePickerSeconds: true, //时间显示到秒

startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期

endDate: moment(new Date()), //设置结束器日期

maxDate: moment(new Date()), //设置最大日期

"opens": "center",

ranges: {

// '今天': [moment(), moment()],

'昨天': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],

'上周': [moment().subtract(6, 'days'), moment()],

'前30天': [moment().subtract(29, 'days'), moment()],

'本月': [moment().startOf('month'), moment().endOf('month')],

'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]

},

showWeekNumbers: true,

locale: {

format: "YYYY-MM-DD HH:mm:ss", //设置显示格式

applyLabel: '确定', //确定按钮文本

cancelLabel: '取消', //取消按钮文本

customRangeLabel: '自定义',

daysOfWeek: ['日', '一', '二', '三', '四', '五', '六'],

monthNames: ['一月', '二月', '三月', '四月', '五月', '六月',

'七月', '八月', '九月', '十月', '十一月', '十二月'

],

firstDay: 1

},

}, function(start, end, label) {

timeRangeChange = [start.format('YYYY-MM-DD HH:mm:ss'), end.format('YYYY-MM-DD HH:mm:ss')];

console.log(timeRangeChange);

});
效果:
2. 单日期时间选择
Html代码
[HTML] 纯文本查看 复制代码
<div class="box">

<label for="singledatePicker">单日历</label>

<input type="text" name="singledatePicker" class="singledatePicker" id="singledatePicker">

</div>
Js代码
[JavaScript] 纯文本查看 复制代码
$('input[name="singledatePicker"]').daterangepicker({

"autoApply": true, //选择日期后自动提交;只有在不显示时间的时候起作用timePicker:false

singleDatePicker: true, //单日历

showDropdowns: true, //年月份下拉框

timePicker: true, //显示时间

timePicker24Hour: true, //时间制

timePickerSeconds: true, //时间显示到秒

startDate: moment().hours(0).minutes(0).seconds(0), //设置开始日期

maxDate: moment(new Date()), //设置最大日期

"opens": "center",

showWeekNumbers: true,

locale: {

format: "YYYY-MM-DD HH:mm:ss", //设置显示格式

applyLabel: '确定', //确定按钮文本

cancelLabel: '取消', //取消按钮文本

daysOfWeek: ['日', '一', '二', '三', '四', '五', '六'],

monthNames: ['一月', '二月', '三月', '四月', '五月', '六月',

'七月', '八月', '九月', '十月', '十一月', '十二月'

],

firstDay: 1

},

}, function(start) {

console.log(start.format('YYYY-MM-DD HH:mm:ss'));

});
效果:

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马