Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
# Project : bootstrap-datetimepicker
2
======================================
3
 
4
[![Build Status](https://travis-ci.org/smalot/bootstrap-datetimepicker.png?branch=master)](https://travis-ci.org/smalot/bootstrap-datetimepicker)
5
 
6
[Homepage](http://www.malot.fr/bootstrap-datetimepicker/)
7
 
8
[Demo page](http://www.malot.fr/bootstrap-datetimepicker/demo.php)
9
 
10
# Project forked
11
 
12
This project is a fork of [bootstrap-datepicker project](https://github.com/eternicode/bootstrap-datepicker).
13
 
14
 
15
# Home
16
 
17
As 'bootstrap-datetimepicker' is restricted to the date scope (day, month, year), this project aims to support too the time picking (hour, minutes).
18
 
19
 
20
# Screenshots
21
 
22
## Decade year view
23
 
24
![Datetimepicker decade year view](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_decade.png)
25
 
26
This view allows to select the day in the selected month.
27
 
28
## Year view
29
 
30
![Datetimepicker year view](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_year.png)
31
 
32
This view allows to select the month in the selected year.
33
 
34
## Month view
35
 
36
![Datetimepicker month view](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_month.png)
37
 
38
This view allows to select the year in a range of 10 years.
39
 
40
## Day view
41
 
42
![Datetimepicker day view](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_day.png)
43
 
44
This view allows to select the hour in the selected day.
45
 
46
## Hour view
47
 
48
![Datetimepicker hour view](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_hour.png)
49
 
50
This view allows to select the preset of minutes in the selected hour.
51
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 <code>minuteStep</code> property.
52
 
53
## Day view - meridian
54
 
55
![Datetimepicker day view meridian](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_day_meridian.png)
56
 
57
Meridian is supported in both the day and hour views.
58
To use it, just enable the <code>showMeridian</code> property.
59
 
60
## Hour view - meridian
61
 
62
![Datetimepicker hour view meridian](https://raw.github.com/smalot/bootstrap-datetimepicker/master/screenshot/standard_hour_meridian.png)
63
 
64
# Example
65
 
66
Attached to a field with the format specified via options:
67
 
68
```html
69
<input type="text" value="2012-05-15 21:05" id="datetimepicker">
70
```
71
```javascript
72
$('#datetimepicker').datetimepicker({
73
    format: 'yyyy-mm-dd hh:ii'
74
});
75
```
76
 
77
Attached to a field with the format specified via markup:
78
 
79
```html
80
<input type="text" value="2012-05-15 21:05" id="datetimepicker" data-date-format="yyyy-mm-dd hh:ii">
81
```
82
```javascript
83
$('#datetimepicker').datetimepicker();
84
```
85
 
86
As component:
87
 
88
```html
89
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
90
    <input size="16" type="text" value="12-02-2012" readonly>
91
    <span class="add-on"><i class="icon-th"></i></span>
92
</div>
93
```
94
```javascript
95
$('#datetimepicker').datetimepicker();
96
```
97
 
98
As inline datetimepicker:
99
 
100
```html
101
<div id="datetimepicker"></div>
102
```
103
```javascript
104
$('#datetimepicker').datetimepicker();
105
```
106
 
107
# Using bootstrap-datetimepicker.js
108
 
109
Call the datetimepicker via javascript:
110
 
111
```javascript
112
$('.datetimepicker').datetimepicker()
113
```
114
 
115
## Dependencies
116
 
117
Requires bootstrap's dropdown component (`dropdowns.less`) for some styles, and bootstrap's sprites (`sprites.less` and associated images) for arrows.
118
 
119
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:
120
 
121
```bash
122
$ lessc build/build_standalone.less datetimepicker.css
123
```
124
 
125
## Options
126
 
127
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).
128
 
129
You can also specify an ISO-8601 valid datetime, despite of the given `format` :
130
 * yyyy-mm-dd
131
 * yyyy-mm-dd hh:ii
132
 * yyyy-mm-ddThh:ii
133
 * yyyy-mm-dd hh:ii:ss
134
 * yyyy-mm-ddThh:ii:ssZ
135
 
136
### format
137
 
138
String.  Default: 'mm/dd/yyyy'
139
 
140
The date format, combination of p, P, h, hh, i, ii, s, ss, d, dd, m, mm, M, MM, yy, yyyy.
141
 
142
 * p : meridian in lower case ('am' or 'pm') - according to locale file
143
 * P : meridian in upper case ('AM' or 'PM') - according to locale file
144
 * s : seconds without leading zeros
145
 * ss : seconds, 2 digits with leading zeros
146
 * i : minutes without leading zeros
147
 * ii : minutes, 2 digits with leading zeros
148
 * h : hour without leading zeros - 24-hour format
149
 * hh : hour, 2 digits with leading zeros - 24-hour format
150
 * H : hour without leading zeros - 12-hour format
151
 * HH : hour, 2 digits with leading zeros - 12-hour format
152
 * d : day of the month without leading zeros
153
 * dd : day of the month, 2 digits with leading zeros
154
 * m : numeric representation of month without leading zeros
155
 * mm : numeric representation of the month, 2 digits with leading zeros
156
 * M : short textual representation of a month, three letters
157
 * MM : full textual representation of a month, such as January or March
158
 * yy : two digit representation of a year
159
 * yyyy : full numeric representation of a year, 4 digits
160
 
161
### weekStart
162
 
163
Integer.  Default: 0
164
 
165
Day of the week start. 0 (Sunday) to 6 (Saturday)
166
 
167
### startDate
168
 
169
Date.  Default: Beginning of time
170
 
171
The earliest date that may be selected; all earlier dates will be disabled.
172
 
173
### endDate
174
 
175
Date.  Default: End of time
176
 
177
The latest date that may be selected; all later dates will be disabled.
178
 
179
### daysOfWeekDisabled
180
 
181
String, Array.  Default: '', []
182
 
183
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]`.
184
 
185
### autoclose
186
 
187
Boolean.  Default: false
188
 
189
Whether or not to close the datetimepicker immediately when a date is selected.
190
 
191
### startView
192
 
193
Number, String.  Default: 2, 'month'
194
 
195
The view that the datetimepicker should show when it is opened.
196
Accepts values of :
197
 * 0 or 'hour' for the hour view
198
 * 1 or 'day' for the day view
199
 * 2 or 'month' for month view (the default)
200
 * 3 or 'year' for the 12-month overview
201
 * 4 or 'decade' for the 10-year overview. Useful for date-of-birth datetimepickers.
202
 
203
### minView
204
 
205
Number, String. Default: 0, 'hour'
206
 
207
The lowest view that the datetimepicker should show.
208
 
209
### maxView
210
 
211
Number, String. Default: 4, 'decade'
212
 
213
The highest view that the datetimepicker should show.
214
 
215
### todayBtn
216
 
217
Boolean, "linked".  Default: false
218
 
219
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.
220
 
221
### todayHighlight
222
 
223
Boolean.  Default: false
224
 
225
If true, highlights the current date.
226
 
227
### keyboardNavigation
228
 
229
Boolean.  Default: true
230
 
231
Whether or not to allow date navigation by arrow keys.
232
 
233
### language
234
 
235
String.  Default: 'en'
236
 
237
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.
238
 
239
### forceParse
240
 
241
Boolean.  Default: true
242
 
243
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`.
244
 
245
### minuteStep
246
 
247
Number.  Default: 5
248
 
249
The increment used to build the hour view. A button is created for each <code>minuteStep</code> minutes.
250
 
251
### pickerReferer : deprecated
252
 
253
String.  Default: 'default'
254
 
255
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 <code>input</code>.
256
 
257
### pickerPosition
258
 
259
String. Default: 'bottom-right' (supported values are: 'bottom-right', 'bottom-left', 'top-right', 'top-left')
260
 
261
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.
262
 
263
### viewSelect
264
 
265
Number or String. Default: <code>same as minView</code> (supported values are: 'decade', 'year', 'month', 'day', 'hour')
266
 
267
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.
268
 
269
### showMeridian
270
 
271
Boolean. Default: false
272
 
273
This option will enable meridian views for day and hour views.
274
 
275
### initialDate
276
 
277
Date or String. Default: new Date()
278
 
279
You can initialize the viewer with a date. By default it's now, so you can specify yesterday or today at midnight ...
280
 
281
## Markup
282
 
283
Format as component.
284
 
285
```html
286
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
287
    <input class="span2" size="16" type="text" value="12-02-2012">
288
    <span class="add-on"><i class="icon-th"></i></span>
289
</div>
290
```
291
 
292
Format as component with reset button to clear the input field.
293
 
294
```html
295
<div class="input-append date" id="datetimepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
296
    <input class="span2" size="16" type="text" value="12-02-2012">
297
    <span class="add-on"><i class="icon-remove"></i></span>
298
    <span class="add-on"><i class="icon-th"></i></span>
299
</div>
300
```
301
 
302
## Methods
303
 
304
### .datetimepicker(options)
305
 
306
Initializes an datetimepicker.
307
 
308
### remove
309
 
310
Arguments: None
311
 
312
Remove the datetimepicker.  Removes attached events, internal attached objects, and
313
added HTML elements.
314
 
315
    $('#datetimepicker').datetimepicker('remove');
316
 
317
### show
318
 
319
Arguments: None
320
 
321
Show the datetimepicker.
322
 
323
```javascript
324
$('#datetimepicker').datetimepicker('show');
325
```
326
 
327
### hide
328
 
329
Arguments: None
330
 
331
Hide the datetimepicker.
332
 
333
```javascript
334
$('#datetimepicker').datetimepicker('hide');
335
```
336
 
337
### update
338
 
339
Arguments:
340
 
341
* currentDate (Date).
342
 
343
Update the datetimepicker with the specified date.
344
 
345
```javascript
346
$('#datetimepicker').datetimepicker('update', new Date());
347
```
348
 
349
Omit currentDate to update the datetimepicker with the current input value.
350
 
351
```javascript
352
$('#datetimepicker').datetimepicker('update');
353
```
354
 
355
### setStartDate
356
 
357
Arguments:
358
 
359
* startDate (String)
360
 
361
Sets a new lower date limit on the datetimepicker.
362
 
363
```javascript
364
$('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');
365
```
366
 
367
Omit startDate (or provide an otherwise falsey value) to unset the limit.
368
 
369
```javascript
370
$('#datetimepicker').datetimepicker('setStartDate');
371
$('#datetimepicker').datetimepicker('setStartDate', null);
372
```
373
 
374
### setEndDate
375
 
376
Arguments:
377
 
378
* endDate (String)
379
 
380
Sets a new upper date limit on the datetimepicker.
381
 
382
```javascript
383
$('#datetimepicker').datetimepicker('setEndDate', '2012-12-31');
384
```
385
 
386
Omit endDate (or provide an otherwise falsey value) to unset the limit.
387
 
388
```javascript
389
$('#datetimepicker').datetimepicker('setEndDate');
390
$('#datetimepicker').datetimepicker('setEndDate', null);
391
```
392
 
393
### setDaysOfWeekDisabled
394
 
395
Arguments:
396
 
397
* daysOfWeekDisabled (String|Array)
398
 
399
Sets the days of week that should be disabled.
400
 
401
```javascript
402
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', [0,6]);
403
```
404
 
405
Omit daysOfWeekDisabled (or provide an otherwise falsey value) to unset the disabled days.
406
 
407
```javascript
408
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled');
409
$('#datetimepicker').datetimepicker('setDaysOfWeekDisabled', null);
410
```
411
 
412
## Events
413
 
414
Datetimepicker class exposes a few events for manipulating the dates.
415
 
416
### show
417
 
418
Fired when the date picker is displayed.
419
 
420
### hide
421
 
422
Fired when the date picker is hidden.
423
 
424
### changeDate
425
 
426
Fired when the date is changed.
427
 
428
```javascript
429
$('#date-end')
430
    .datetimepicker()
431
    .on('changeDate', function(ev){
432
        if (ev.date.valueOf() < date-start-display.valueOf()){
433
            ....
434
        }
435
    });
436
```
437
 
438
### changeYear
439
 
440
Fired when the *view* year is changed from decade view.
441
 
442
### changeMonth
443
 
444
Fired when the *view* month is changed from year view.
445
 
446
### outOfRange
447
 
448
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*..
449
 
450
## Keyboard support
451
 
452
The datetimepicker includes some keyboard navigation:
453
 
454
 
455
 
456
### up, down, left, right arrow keys
457
 
458
By themselves, left/right will move backward/forward one day, up/down will move back/forward one week.
459
 
460
With the shift key, up/left will move backward one month, down/right will move forward one month.
461
 
462
With the ctrl key, up/left will move backward one year, down/right will move forward oone year.
463
 
464
Shift+ctrl behaves the same as ctrl -- that is, it does not change both month and year simultaneously, only the year.
465
 
466
### escape
467
 
468
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.
469
 
470
### enter
471
 
472
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.
473
 
474
## Mouse Wheel View Navigation
475
 
476
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.
477
 
478
### Dependency
479
 
480
To enalbe this feature. [jQuery Mouse Wheel Plugin](https://github.com/brandonaaron/jquery-mousewheel) must be included before using this feature.
481
 
482
### Options
483
 
484
#### wheelViewModeNavigation
485
 
486
Boolean.  Default: false
487
 
488
Whether or not to enable navigating through different view mode using mouse wheel.
489
 
490
#### wheelViewModeNavigationInverseDirection
491
 
492
Boolean.  Default: false
493
 
494
Whether or not to reverse the direction of scrolling. Default is scroll up to the decade view.
495
 
496
#### wheelViewModeNavigationDelay
497
 
498
Integer.  Default: 100
499
 
500
Time delays between the next respond to the wheel command, it controls the speed between switching in different views. Unit is in million seconds.
501
 
502
#### About viewSelect option
503
 
504
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.
505
 
506
### Feature Demo
507
 
508
A simple [Demo](http://lyonlai.github.io/bootstrap-datetimepicker/demo.html) page is given to show it's simple idea.
509
 
510
## I18N
511
 
512
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:
513
 
514
```javascript
515
$.fn.datetimepicker.dates['en'] = {
516
    days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
517
    daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
518
    daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
519
    months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
520
    monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
521
    today: "Today"
522
};
523
```
524
 
525
You can override the default date format in the language configuration with `format` attribute.
526
Example:
527
 
528
```javascript
529
$.fn.datetimepicker.dates['pt-BR'] = {
530
    format: 'dd/mm/yyyy'
531
};
532
```
533
 
534
Right-to-left languages may also include `rtl: true` to make the calendar display appropriately.
535
 
536
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:
537
 
538
```html
539
<script type="text/javascript" src="bootstrap-datetimepicker.de.js" charset="UTF-8"></script>
540
```