@activix/bootstrap-datetimepicker 中文文档教程
# Project : bootstrap-datetimepicker
Project forked
这个项目是 bootstrap-datepicker 项目的一个分支.
Home
由于 'bootstrap-datepicker' 仅限于日期范围(日、月、年),该项目旨在支持时间选择(小时、分钟)。
Screenshots
Decade year view
此视图允许选择所选月份中的日期。
Year view
此视图允许选择所选年份中的月份。
Month view
此视图允许选择 10 年范围内的年份.
Day view
此视图允许选择所选日期的小时。
Hour view
此视图允许选择所选小时内的分钟预设. 已选择 5 分钟的范围(默认情况下)以将按钮数量限制为可接受的值,但它可以被 minuteStep
属性覆盖。
Day view - meridian
日视图
和小时视图均支持 Meridian。 要使用它,只需启用 showMeridian
属性。
Hour view - meridian
Example
附加到具有通过选项指定的格式的字段:
<input type="text" value="2012-05-15 21:05" id="datetimepicker">
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd hh:ii'
});
附加到具有通过标记指定的格式的字段:
<input type="text" value="2012-05-15 21:05" id="datetimepicker" data-date-format="yyyy-mm-dd hh:ii">
$('#datetimepicker').datetimepicker();
作为组件:
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input size="16" type="text" value="12-02-2012" readonly>
<span class="add-on"><i class="icon-th"></i></span>
</div>
$('#datetimepicker').datetimepicker();
作为内联日期时间选择器:
<div id="datetimepicker"></div>
$('#datetimepicker').datetimepicker();
Using bootstrap-datetimepicker.js
通过 javascript 调用日期
$('.datetimepicker').datetimepicker()
Dependencies
时间选择器:某些样式需要引导程序的下拉组件(dropdowns.less
),以及引导程序的精灵(sprites.less
和相关图像)用于箭头。
通过 lessc
编译器运行 build/build_standalone.less
可以生成独立的 .css 文件(包括必要的下拉样式和替代的基于文本的箭头):
$ lessc build/build_standalone.less > datetimepicker.css
Options
所有选项取一个“Date”可以处理一个Date
对象; 根据给定的 format
格式化的字符串; 或相对于今天的时间增量,例如“-1d”、“+6m +1y”等,其中有效单位为“d”(天)、“w”(周)、“m”(月)和“y” ' (年)。
您还可以指定一个 ISO-8601 有效日期时间,尽管给定 format
:
- yyyy-mm-dd
- yyyy-mm-dd hh:ii
- yyyy-mm-ddThh:ii
- yyyy-mm-dd hh:ii:ss
- yyyy-mm-ddThh:ii:ssZ
format
String。 默认值:'mm/dd/yyyy'
日期格式,p、P、h、hh、i、ii、s、ss、d、dd、m、mm、M、MM、yy、yyyy 的组合。
- p : meridian in lower case ('am' or 'pm') - according to locale file
- P : meridian in upper case ('AM' or 'PM') - according to locale file
- s : seconds without leading zeros
- ss : seconds, 2 digits with leading zeros
- i : minutes without leading zeros
- ii : minutes, 2 digits with leading zeros
- h : hour without leading zeros - 24-hour format
- hh : hour, 2 digits with leading zeros - 24-hour format
- H : hour without leading zeros - 12-hour format
- HH : hour, 2 digits with leading zeros - 12-hour format
- d : day of the month without leading zeros
- dd : day of the month, 2 digits with leading zeros
- m : numeric representation of month without leading zeros
- mm : numeric representation of the month, 2 digits with leading zeros
- M : short textual representation of a month, three letters
- MM : full textual representation of a month, such as January or March
- yy : two digit representation of a year
- yyyy : full numeric representation of a year, 4 digits
- t : unix epoch timestamp
- Z : abbreviated timezone name
weekStart
整数。 默认值:0
星期几开始。 0(星期日)到 6(星期六)
startDate
日期。 默认值:开始时间
可以选择的最早日期; 所有较早的日期都将被禁用。
endDate
日期。 默认值:结束时间
可以选择的最晚日期; 所有以后的日期都将被禁用。
daysOfWeekDisabled
字符串,数组。 默认值:'', []
应该禁用的星期几。 值为 0(星期日)到 6(星期六)。 多个值应以逗号分隔。 示例:禁用周末:'0,6'
或 [0,6]
。
autoclose
布尔值。 默认值:false
是否在选择日期时立即关闭日期时间选择器。
startView
数字,字符串。 默认值:2,“月”
日期时间选择器打开时应显示的视图。 接受以下值:
- 0 or 'hour' for the hour view
- 1 or 'day' for the day view
- 2 or 'month' for month view (the default)
- 3 or 'year' for the 12-month overview
- 4 or 'decade' for the 10-year overview. Useful for date-of-birth datetimepickers.
minView
数字、字符串。 默认值:0,“小时”
日期时间选择器应显示的最低视图。
maxView
数字,字符串。 默认值:4,'decade'
日期时间选择器应显示的最高视图。
clearBtn
布尔值。 默认值:false
如果为 true,则在日期时间选择器的底部显示一个“清除”按钮以清除当前选择。 此外,如果 autoclose 设置为 true,则 datetimepicker 将被关闭。
todayBtn
布尔值,“链接”。 默认值:false
如果为 true 或“已链接”,则在日期时间选择器底部显示一个“今天”按钮以选择当前日期。 如果为 true,“今天”按钮只会将当前日期移动到视图中; 如果“链接”,当前日期也将被选中。
todayHighlight
布尔值。 默认值:false
如果为 true,则突出显示当前日期。
keyboardNavigation
布尔值。 默认值:true
是否允许通过箭头键进行日期导航。
language
细绳。 默认值:'en'
用于月份和日期名称的语言的两个字母代码。 这些也将用作输入的值(并随后在表单提交的情况下发送到服务器)。 目前附带英语 ('en')、德语 ('de')、巴西语 ('br') 和西班牙语 ('es') 翻译,但可以添加其他翻译(请参阅下面的 I18N)。 如果给出未知语言代码,将使用英语。
forceParse
布尔值。 默认值:true
是否在选择器关闭时强制解析输入值。 也就是说,当用户在输入字段中留下无效日期时,选择器将强制解析该值,并将输入的值设置为新的有效日期,符合给定的格式
。
bootcssVer
数字。
您可以使用此选项覆盖不同引导程序版本(例如 2 或 3)的自动检测功能。
minuteStep
数字。 默认值:5
用于构建小时视图的增量。 每 minuteStep
分钟创建一个按钮。
pickerReferer : deprecated
细绳。 默认值:'default'
为组件实现放置选择器的引用元素。 如果您想将选择器放在输入字段的正下方,只需指定 input
。
pickerPosition
细绳。 默认值:'bottom-right'(支持的值为:'bottom-right'、'bottom-left'、'top-right'、'top-left')
此选项允许将选择器放置在输入字段的正下方组件实现而不是按钮右下角的默认位置。
viewSelect
数字或字符串。 默认值:与 minView 相同
(支持的值为:'decade'、'year'、'month'、'day'、'hour')
使用此选项,您可以选择显示日期的视图被选中。 默认情况下它是最后一个,但是您可以选择第一个,因此每次单击都会更新日期。
showMeridian
布尔值。 默认值:false
此选项将为日和小时视图启用子午线视图。
initialDate
日期或字符串。 默认值:new Date()
您可以使用日期初始化查看器。 默认为现在,因此您可以指定昨天或今天午夜……
zIndex
编号。 Default: undefined
zIndex 值是根据 DOM 树自动计算的,我们在这里寻找最高值。 要跳过此过程,您可以手动设置该值。
timezone
细绳。 默认值:客户端当前时区缩写名称
您可以允许查看器显示日期以及给定时区。 请注意,这必须与 Z
格式选项结合使用。 下面的示例:
$('#date-end').datetimepicker({
format: 'yyyy-mm-dd hh:ii P Z'
timezone: 'GMT'
});
onRenderYear
在日期选择器中呈现年份时会触发此事件。 应返回一个类数组以添加到此元素。 返回 ['disabled'] 以禁止选择日期。
$('#date')
.datetimepicker({
onRenderYear: function(date) {
//Disable picking dates from any year apart from 2015/2016
if (date.getFullYear() < 2015 || date.getFullYear() > 2016)
return ['disabled']
}
});
onRenderMonth
当在日期选择器中呈现月份时会触发此事件。 应返回一个类数组以添加到此元素。 返回 ['disabled'] 以禁止选择日期。
$('#date')
.datetimepicker({
onRenderMonth: function(date) {
//Disable every other month in the year 2016
if (date.getUTCMonth() % 2 === 0 && date.getUTCFullYear() === 2016)
return ['disabled']
}
});
onRenderDay
当在日期选择器中呈现一天时会触发此事件。 应返回一个类数组以添加到此元素。 返回 ['disabled'] 以禁止选择日期。
$('#date')
.datetimepicker({
onRenderDay: function(date) {
//Disable dates 18-24 of every month
if (date.getDate() >= 18 && date.getDate() <= 24)
return ['disabled'];
}
});
onRenderHour
当在日期选择器中呈现一个小时时会触发此事件。 应返回一个类数组以添加到此元素。 返回 ['disabled'] 以禁止选择日期。
$('#date')
.datetimepicker({
onRenderHour: function(hour) {
//Disable any time between 12:00 and 13:59
if (date.getUTCHours() === 12 || date.getUTCHours() === 13)
return ['disabled'];
}
});
onRenderMinute
当在日期选择器中呈现一分钟时会触发此事件。 应返回一个类数组以添加到此元素。 返回 ['disabled'] 以禁止选择日期。
$('#date')
.datetimepicker({
onRenderMinute: function(minute) {
//Disable all times between 30 past and 20 to every hour for workdays
if (date.getDay() !== 0 && date.getDay() !== 6 && date.getUTCMinutes() >= 30 && date.getUTCMinutes() <= 40)
return ['disabled'];
}
});
fontAwesome
布尔值。 默认值:false
如果为 true,将使用 Font Awesome。
Markup
格式为组件。
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input class="span2" size="16" type="text" value="12-02-2012">
<span class="add-on"><i class="icon-th"></i></span>
</div>
格式化为带有重置按钮的组件以清除输入字段。
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input class="span2" size="16" type="text" value="12-02-2012">
<span class="add-on"><i class="icon-remove"></i></span>
<span class="add-on"><i class="icon-th"></i></span>
</div>
Methods
.datetimepicker(options)
初始化一个日期时间选择器。
remove
参数: 无
删除日期时间选择器。 删除附加事件、内部附加对象和 添加了 HTML 元素。
$('#datetimepicker').datetimepicker('remove');
showDatetimePicker
参数: 无
显示日期时间选择器。
$('#datetimepicker').datetimepicker('show');
hideDatetimePicker
参数: 无
隐藏日期时间选择器。
$('#datetimepicker').datetimepicker('hide');
update
参数:
- currentDate (Date).
使用指定日期更新日期时间选择器。
$('#datetimepicker').datetimepicker('update', new Date());
省略 currentDate 以使用当前输入值更新日期时间选择器。
$('#datetimepicker').datetimepicker('update');
setStartDate
参数:
- startDate (String)
在日期时间选择器上设置新的日期下限。
$('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');
省略 startDate(或提供其他错误值)以取消设置限制。
$('#datetimepicker').datetimepicker('setStartDate');
$('#datetimepicker').datetimepicker('setStartDate', null);
setEndDate
参数:
- endDate (String)
在日期时间选择器上设置新的日期上限。
$('#datetimepicker').datetimepicker('setEndDate', '2012-12-31');
省略 endDate(或提供其他错误值)以取消设置限制。
$('#datetimepicker').datetimepicker('setEndDate');
$('#datetimepicker').datetimepicker('setEndDate', null);
setDaysOfWeekDisabled
参数:
- daysOfWeekDisabled (String|Array)
设置应禁用的星期几。
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', [0,6]);
省略 daysOfWeekDisabled(或提供其他虚假值)以取消设置禁用天数。
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled');
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', null);
setMinutesDisabled
参数:
- minutesDisabled (String|Array)
设置应禁用的分钟数。
$('#datetimepicker').datetimepicker('setMinutesDisabled', [25,59]);
省略 minutesDisabled(或提供其他错误值)以取消设置禁用分钟数。
$('#datetimepicker').datetimepicker('setMinutesDisabled');
$('#datetimepicker').datetimepicker('setMinutesDisabled', null);
setHoursDisabled
参数:
- hoursDisabled (String|Array)
设置应禁用的时间。
$('#datetimepicker').datetimepicker('setHoursDisabled', [12,19]);
省略 hoursDisabled(或提供其他虚假值)以取消设置禁用时间。
$('#datetimepicker').datetimepicker('setHoursDisabled');
$('#datetimepicker').datetimepicker('setHoursDisabled', null);
setInitialDate
参数:
- setInitialDate (String)
在日期时间选择器上设置一个新的初始日期。
$('#datetimepicker').datetimepicker('setInitialDate', '2012-12-31');
在日期时间选择器上获取初始日期。
$('#datetimepicker').datetimepicker('getInitialDate');
Events
Datetimepicker 类公开了一些用于操作日期的事件。
showDatetimePicker
显示日期选择器时触发。
hideDatetimePicker
当日期选择器隐藏时触发。
changeDate
日期更改时触发。
$('#date-end')
.datetimepicker()
.on('changeDate', function(ev){
if (ev.date.valueOf() < date-start-display.valueOf()){
....
}
});
changeYear
当从十年视图更改视图 年份时触发。
changeMonth
当从年视图更改视图月份时触发。
outOfRange
当您选择一个早于 startDate 或晚于 endDate 的日期,或者您通过 setDate 或 setUTCDate< 方法指定日期时触发/em>..
next:* / prev:*
当您单击下一个 或上一个 箭头时触发。 支持所有不同的视图模式(“年”、“月”、“日”、“小时”)。 例如,允许您将回调绑定到 'next:month' 或 'prev:month' 操作。
Keyboard support
日期时间选择器包括一些键盘导航:
up, down, left, right arrow keys
就其本身而言,向左/向右将向后/向前移动一天,向上/向下将向后/向前移动一周。
使用shift键,上/左将向后移动一个月,下/右将向前移动一个月。
使用 ctrl 键,向上/向左将向后移动一年,向下/向右将向前移动一年。
Shift+ctrl 的行为与 ctrl 相同——也就是说,它不会同时更改月份和年份,只会更改年份。
escape
转义键可用于隐藏和重新显示日期时间选择器; 如果用户想要手动编辑值,这是必需的。
enter
When the picker is visible, enter will simply hide it. When the picker is not visible, enter will have normal effects -- submitting the current form, etc.
Mouse Wheel View Navigation
In order to make this plugin easier to set different part of date time, mouse wheel has been used to navigate through different views. 向上滚动鼠标滚轮以导航至十年视图。 向下滚动将导致分钟视图。
Dependency
启用此功能。 在使用此功能之前,必须包含 jQuery 鼠标滚轮插件。
Options
wheelViewModeNavigation
布尔值。 默认值:false
是否启用使用鼠标滚轮在不同的视图模式中导航。
wheelViewModeNavigationInverseDirection
布尔值。 默认值:false
是否反转滚动方向。 默认是向上滚动到十年视图。
wheelViewModeNavigationDelay
整数。 默认值:100
下一次响应滚轮命令之间的时间延迟,它控制在不同视图之间切换的速度。 单位为百万秒。
About viewSelect option
启用此功能时,viewSelect 选项的推荐值为 4。 这意味着您可以轻松更新每个视图中的任何值。 此选项值应用于演示页面。
Feature Demo
一个简单的Demo页面来展示它的简单想法。
I18N
该插件支持 i18n 的月份和工作日名称以及 weekStart
选项。 默认为英文('en'); 其他可用的翻译在 js/locales/
目录中可用,只需在插件后包含您想要的语言环境。 要添加更多语言,只需在调用 .datetimepicker()
之前向 $.fn.datetimepicker.dates
添加一个键。 示例:
$.fn.datetimepicker.dates['en'] = {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today"
};
您可以使用 format
属性覆盖语言配置中的默认日期格式。 示例:
$.fn.datetimepicker.dates['pt-BR'] = {
format: 'dd/mm/yyyy'
};
从右到左的语言也可能包括 rtl: true
以使日历显示正确。
如果您的浏览器(或您的用户的浏览器)显示的字符有误,很可能是浏览器加载了非 unicode 编码的 javascript 文件。 只需将 charset="UTF-8"
添加到您的 script
标签:
<script type="text/javascript" src="bootstrap-datetimepicker.de.js" charset="UTF-8"></script>
# Project : bootstrap-datetimepicker
Project forked
This project is a fork of bootstrap-datepicker project.
Home
As 'bootstrap-datepicker' is restricted to the date scope (day, month, year), this project aims to support too the time picking (hour, minutes).
Screenshots
Decade year view
This view allows to select the day in the selected month.
Year view
This view allows to select the month in the selected year.
Month view
This view allows to select the year in a range of 10 years.
Day view
This view allows to select the hour in the selected day.
Hour view
This view allows to select the preset of minutes in the selected hour. The range of 5 minutes (by default) has been selected to restrict buttons quantity to an acceptable value, but it can be overrided by the minuteStep
property.
Day view - meridian
Meridian is supported in both the day and hour views. To use it, just enable the showMeridian
property.
Hour view - meridian
Example
Attached to a field with the format specified via options:
<input type="text" value="2012-05-15 21:05" id="datetimepicker">
$('#datetimepicker').datetimepicker({
format: 'yyyy-mm-dd hh:ii'
});
Attached to a field with the format specified via markup:
<input type="text" value="2012-05-15 21:05" id="datetimepicker" data-date-format="yyyy-mm-dd hh:ii">
$('#datetimepicker').datetimepicker();
As component:
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input size="16" type="text" value="12-02-2012" readonly>
<span class="add-on"><i class="icon-th"></i></span>
</div>
$('#datetimepicker').datetimepicker();
As inline datetimepicker:
<div id="datetimepicker"></div>
$('#datetimepicker').datetimepicker();
Using bootstrap-datetimepicker.js
Call the datetimepicker via javascript:
$('.datetimepicker').datetimepicker()
Dependencies
Requires bootstrap's dropdown component (dropdowns.less
) for some styles, and bootstrap's sprites (sprites.less
and associated images) for arrows.
A standalone .css file (including necessary dropdown styles and alternative, text-based arrows) can be generated by running build/build_standalone.less
through the lessc
compiler:
$ lessc build/build_standalone.less > datetimepicker.css
Options
All options that take a "Date" can handle a Date
object; a String formatted according to the given format
; or a timedelta relative to today, eg '-1d', '+6m +1y', etc, where valid units are 'd' (day), 'w' (week), 'm' (month), and 'y' (year).
You can also specify an ISO-8601 valid datetime, despite of the given format
:
- yyyy-mm-dd
- yyyy-mm-dd hh:ii
- yyyy-mm-ddThh:ii
- yyyy-mm-dd hh:ii:ss
- yyyy-mm-ddThh:ii:ssZ
format
String. Default: 'mm/dd/yyyy'
The date format, combination of p, P, h, hh, i, ii, s, ss, d, dd, m, mm, M, MM, yy, yyyy.
- p : meridian in lower case ('am' or 'pm') - according to locale file
- P : meridian in upper case ('AM' or 'PM') - according to locale file
- s : seconds without leading zeros
- ss : seconds, 2 digits with leading zeros
- i : minutes without leading zeros
- ii : minutes, 2 digits with leading zeros
- h : hour without leading zeros - 24-hour format
- hh : hour, 2 digits with leading zeros - 24-hour format
- H : hour without leading zeros - 12-hour format
- HH : hour, 2 digits with leading zeros - 12-hour format
- d : day of the month without leading zeros
- dd : day of the month, 2 digits with leading zeros
- m : numeric representation of month without leading zeros
- mm : numeric representation of the month, 2 digits with leading zeros
- M : short textual representation of a month, three letters
- MM : full textual representation of a month, such as January or March
- yy : two digit representation of a year
- yyyy : full numeric representation of a year, 4 digits
- t : unix epoch timestamp
- Z : abbreviated timezone name
weekStart
Integer. Default: 0
Day of the week start. 0 (Sunday) to 6 (Saturday)
startDate
Date. Default: Beginning of time
The earliest date that may be selected; all earlier dates will be disabled.
endDate
Date. Default: End of time
The latest date that may be selected; all later dates will be disabled.
daysOfWeekDisabled
String, Array. Default: '', []
Days of the week that should be disabled. Values are 0 (Sunday) to 6 (Saturday). Multiple values should be comma-separated. Example: disable weekends: '0,6'
or [0,6]
.
autoclose
Boolean. Default: false
Whether or not to close the datetimepicker immediately when a date is selected.
startView
Number, String. Default: 2, 'month'
The view that the datetimepicker should show when it is opened. Accepts values of :
- 0 or 'hour' for the hour view
- 1 or 'day' for the day view
- 2 or 'month' for month view (the default)
- 3 or 'year' for the 12-month overview
- 4 or 'decade' for the 10-year overview. Useful for date-of-birth datetimepickers.
minView
Number, String. Default: 0, 'hour'
The lowest view that the datetimepicker should show.
maxView
Number, String. Default: 4, 'decade'
The highest view that the datetimepicker should show.
clearBtn
Boolean. Default: false
If true, displays a "Clear" button at the bottom of the datetimepicker to clear the current selection. Moreover, the datetimepicker will be closed if autoclose is set to true.
todayBtn
Boolean, "linked". Default: false
If true or "linked", displays a "Today" button at the bottom of the datetimepicker to select the current date. If true, the "Today" button will only move the current date into view; if "linked", the current date will also be selected.
todayHighlight
Boolean. Default: false
If true, highlights the current date.
keyboardNavigation
Boolean. Default: true
Whether or not to allow date navigation by arrow keys.
language
String. Default: 'en'
The two-letter code of the language to use for month and day names. These will also be used as the input's value (and subsequently sent to the server in the case of form submissions). Currently ships with English ('en'), German ('de'), Brazilian ('br'), and Spanish ('es') translations, but others can be added (see I18N below). If an unknown language code is given, English will be used.
forceParse
Boolean. Default: true
Whether or not to force parsing of the input value when the picker is closed. That is, when an invalid date is left in the input field by the user, the picker will forcibly parse that value, and set the input's value to the new, valid date, conforming to the given format
.
bootcssVer
Number.
You can override the auto-detect functionality of the different bootstrap versions (e.g., 2 or 3) by using this option.
minuteStep
Number. Default: 5
The increment used to build the hour view. A button is created for each minuteStep
minutes.
pickerReferer : deprecated
String. Default: 'default'
The referer element to place the picker for the component implementation. If you want to place the picker just under the input field, just specify input
.
pickerPosition
String. Default: 'bottom-right' (supported values are: 'bottom-right', 'bottom-left', 'top-right', 'top-left')
This option allows to place the picker just under the input field for the component implementation instead of the default position which is at the bottom right of the button.
viewSelect
Number or String. Default: same as minView
(supported values are: 'decade', 'year', 'month', 'day', 'hour')
With this option you can select the view from which the date will be selected. By default it's the last one, however you can choose the first one, so at each click the date will be updated.
showMeridian
Boolean. Default: false
This option will enable meridian views for day and hour views.
initialDate
Date or String. Default: new Date()
You can initialize the viewer with a date. By default it's now, so you can specify yesterday or today at midnight …
zIndex
Number. Default: undefined
zIndex value is being automatically calculated based on the DOM tree, where we seek the highest value. To skip this process you can set the value manually.
timezone
String. Default: Clients current timezone abbreviated name
You can allow the viewer to display the date along with the given timezone. Note that this has to be used in conjunction with the Z
format option. Example below:
$('#date-end').datetimepicker({
format: 'yyyy-mm-dd hh:ii P Z'
timezone: 'GMT'
});
onRenderYear
This event is fired when a year is rendered inside the datepicker. Should return an array of classes to add to this element. Return ['disabled'] to disable the day from being selected.
$('#date')
.datetimepicker({
onRenderYear: function(date) {
//Disable picking dates from any year apart from 2015/2016
if (date.getFullYear() < 2015 || date.getFullYear() > 2016)
return ['disabled']
}
});
onRenderMonth
This event is fired when a month is rendered inside the datepicker. Should return an array of classes to add to this element. Return ['disabled'] to disable the day from being selected.
$('#date')
.datetimepicker({
onRenderMonth: function(date) {
//Disable every other month in the year 2016
if (date.getUTCMonth() % 2 === 0 && date.getUTCFullYear() === 2016)
return ['disabled']
}
});
onRenderDay
This event is fired when a day is rendered inside the datepicker. Should return an array of classes to add to this element. Return ['disabled'] to disable the day from being selected.
$('#date')
.datetimepicker({
onRenderDay: function(date) {
//Disable dates 18-24 of every month
if (date.getDate() >= 18 && date.getDate() <= 24)
return ['disabled'];
}
});
onRenderHour
This event is fired when a hour is rendered inside the datepicker. Should return an array of classes to add to this element. Return ['disabled'] to disable the day from being selected.
$('#date')
.datetimepicker({
onRenderHour: function(hour) {
//Disable any time between 12:00 and 13:59
if (date.getUTCHours() === 12 || date.getUTCHours() === 13)
return ['disabled'];
}
});
onRenderMinute
This event is fired when a minute is rendered inside the datepicker. Should return an array of classes to add to this element. Return ['disabled'] to disable the day from being selected.
$('#date')
.datetimepicker({
onRenderMinute: function(minute) {
//Disable all times between 30 past and 20 to every hour for workdays
if (date.getDay() !== 0 && date.getDay() !== 6 && date.getUTCMinutes() >= 30 && date.getUTCMinutes() <= 40)
return ['disabled'];
}
});
fontAwesome
Boolean. Default: false
If true, Font Awesome will be used.
Markup
Format as component.
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input class="span2" size="16" type="text" value="12-02-2012">
<span class="add-on"><i class="icon-th"></i></span>
</div>
Format as component with reset button to clear the input field.
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
<input class="span2" size="16" type="text" value="12-02-2012">
<span class="add-on"><i class="icon-remove"></i></span>
<span class="add-on"><i class="icon-th"></i></span>
</div>
Methods
.datetimepicker(options)
Initializes an datetimepicker.
remove
Arguments: None
Remove the datetimepicker. Removes attached events, internal attached objects, and added HTML elements.
$('#datetimepicker').datetimepicker('remove');
showDatetimePicker
Arguments: None
Show the datetimepicker.
$('#datetimepicker').datetimepicker('show');
hideDatetimePicker
Arguments: None
Hide the datetimepicker.
$('#datetimepicker').datetimepicker('hide');
update
Arguments:
- currentDate (Date).
Update the datetimepicker with the specified date.
$('#datetimepicker').datetimepicker('update', new Date());
Omit currentDate to update the datetimepicker with the current input value.
$('#datetimepicker').datetimepicker('update');
setStartDate
Arguments:
- startDate (String)
Sets a new lower date limit on the datetimepicker.
$('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');
Omit startDate (or provide an otherwise falsey value) to unset the limit.
$('#datetimepicker').datetimepicker('setStartDate');
$('#datetimepicker').datetimepicker('setStartDate', null);
setEndDate
Arguments:
- endDate (String)
Sets a new upper date limit on the datetimepicker.
$('#datetimepicker').datetimepicker('setEndDate', '2012-12-31');
Omit endDate (or provide an otherwise falsey value) to unset the limit.
$('#datetimepicker').datetimepicker('setEndDate');
$('#datetimepicker').datetimepicker('setEndDate', null);
setDaysOfWeekDisabled
Arguments:
- daysOfWeekDisabled (String|Array)
Sets the days of week that should be disabled.
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', [0,6]);
Omit daysOfWeekDisabled (or provide an otherwise falsey value) to unset the disabled days.
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled');
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', null);
setMinutesDisabled
Arguments:
- minutesDisabled (String|Array)
Sets the minutes that should be disabled.
$('#datetimepicker').datetimepicker('setMinutesDisabled', [25,59]);
Omit minutesDisabled (or provide an otherwise falsey value) to unset the disabled minutes.
$('#datetimepicker').datetimepicker('setMinutesDisabled');
$('#datetimepicker').datetimepicker('setMinutesDisabled', null);
setHoursDisabled
Arguments:
- hoursDisabled (String|Array)
Sets the hours that should be disabled.
$('#datetimepicker').datetimepicker('setHoursDisabled', [12,19]);
Omit hoursDisabled (or provide an otherwise falsey value) to unset the disabled hours.
$('#datetimepicker').datetimepicker('setHoursDisabled');
$('#datetimepicker').datetimepicker('setHoursDisabled', null);
setInitialDate
Arguments:
- setInitialDate (String)
Sets a new inital date on the datetimepicker.
$('#datetimepicker').datetimepicker('setInitialDate', '2012-12-31');
Get the inital date on the datetimepicker.
$('#datetimepicker').datetimepicker('getInitialDate');
Events
Datetimepicker class exposes a few events for manipulating the dates.
showDatetimePicker
Fired when the date picker is displayed.
hideDatetimePicker
Fired when the date picker is hidden.
changeDate
Fired when the date is changed.
$('#date-end')
.datetimepicker()
.on('changeDate', function(ev){
if (ev.date.valueOf() < date-start-display.valueOf()){
....
}
});
changeYear
Fired when the view year is changed from decade view.
changeMonth
Fired when the view month is changed from year view.
outOfRange
Fired when you pick a date before the startDate or after the endDate or when you specify a date via the method setDate or setUTCDate..
next:* / prev:*
Fired when you click the next or previous arrows. Supports all the differnt view modes ('year', 'month', 'day', 'hour'). For example allows you to bind a callback to 'next:month' or 'prev:month' action.
Keyboard support
The datetimepicker includes some keyboard navigation:
up, down, left, right arrow keys
By themselves, left/right will move backward/forward one day, up/down will move back/forward one week.
With the shift key, up/left will move backward one month, down/right will move forward one month.
With the ctrl key, up/left will move backward one year, down/right will move forward oone year.
Shift+ctrl behaves the same as ctrl -- that is, it does not change both month and year simultaneously, only the year.
escape
The escape key can be used to hide and re-show the datetimepicker; this is necessary if the user wants to manually edit the value.
enter
When the picker is visible, enter will simply hide it. When the picker is not visible, enter will have normal effects -- submitting the current form, etc.
Mouse Wheel View Navigation
In order to make this plugin easier to set different part of date time, mouse wheel has been used to navigate through different views. Scroll up your mouse wheel to navigate to the decade year view. Scroll down will lead to the minute view.
Dependency
To enalbe this feature. jQuery Mouse Wheel Plugin must be included before using this feature.
Options
wheelViewModeNavigation
Boolean. Default: false
Whether or not to enable navigating through different view mode using mouse wheel.
wheelViewModeNavigationInverseDirection
Boolean. Default: false
Whether or not to reverse the direction of scrolling. Default is scroll up to the decade view.
wheelViewModeNavigationDelay
Integer. Default: 100
Time delays between the next respond to the wheel command, it controls the speed between switching in different views. Unit is in million seconds.
About viewSelect option
The recommended value for viewSelect option is 4 when this feature is enable. That means you can easily update any the value in every view. This option value is applied in the demo page.
Feature Demo
A simple Demo page is given to show it's simple idea.
I18N
The plugin supports i18n for the month and weekday names and the weekStart
option. The default is English ('en'); other available translations are avilable in the js/locales/
directory, simply include your desired locale after the plugin. To add more languages, simply add a key to $.fn.datetimepicker.dates
, before calling .datetimepicker()
. Example:
$.fn.datetimepicker.dates['en'] = {
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
today: "Today"
};
You can override the default date format in the language configuration with format
attribute. Example:
$.fn.datetimepicker.dates['pt-BR'] = {
format: 'dd/mm/yyyy'
};
Right-to-left languages may also include rtl: true
to make the calendar display appropriately.
If your browser (or those of your users) is displaying characters wrong, chances are the browser is loading the javascript file with a non-unicode encoding. Simply add charset="UTF-8"
to your script
tag:
<script type="text/javascript" src="bootstrap-datetimepicker.de.js" charset="UTF-8"></script>