First include to page css and js files
<!-- this should go after your </body> -->
<link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css"/ >
<script src="jquery.js"></script>
<script src="build/jquery.datetimepicker.full.min.js"></script>
HTML
<input id="datetimepicker" type="text" >
javaScript
jQuery('#datetimepicker').datetimepicker();
Result
All supported languages here
javaScript
jQuery.datetimepicker.setLocale('de');
jQuery('#datetimepicker1').datetimepicker({
i18n:{
de:{
months:[
'Januar','Februar','Marz','April',
'Mai','Juni','Juli','August',
'September','Oktober','November','Dezember',
],
dayOfWeek:[
"So.", "Mo", "Di", "Mi",
"Do", "Fr", "Sa.",
]
}
},
timepicker:false,
format:'d.m.Y'
});
Result
javaScript
jQuery('#datetimepicker2').datetimepicker({
datepicker:false,
format:'H:i'
});
Result
javaScript
jQuery('#datetimepicker_start_time').datetimepicker({
startDate:'+1971/05/01'//or 1986/12/08
});
Result
javaScript
jQuery('#datetimepicker_unixtime').datetimepicker({
format:'unixtime'
});
Result
javaScript
jQuery('#datetimepicker3').datetimepicker({
format:'d.m.Y H:i',
inline:true,
lang:'ru'
});
Result
Click the icon next to the input field to show the datetimepicker
javaScript
jQuery('#datetimepicker4').datetimepicker({
format:'d.m.Y H:i',
lang:'ru'
});
and handler onclick event
jQuery('#image_button').click(function(){
jQuery('#datetimepicker4').datetimepicker('show'); //support hide,show and destroy command
});
Result
javaScript
jQuery('#datetimepicker5').datetimepicker({
datepicker:false,
allowTimes:[
'12:00', '13:00', '15:00',
'17:00', '17:05', '17:20', '19:00', '20:00'
]
});
Result
javaScript
jQuery('#datetimepicker6').datetimepicker({
timepicker:false,
onChangeDateTime:function(dp,$input){
alert($input.val())
}
});
Result
javaScript
jQuery('#datetimepicker7').datetimepicker({
timepicker:false,
formatDate:'Y/m/d',
minDate:'-1970/01/02',//yesterday is minimum date(for today use 0 or -1970/01/01)
maxDate:'+1970/01/02'//tommorow is maximum date calendar
});
Result
javaScript
jQuery('#datetimepicker_mask').datetimepicker({
timepicker:false,
mask:true, // '9999/19/39 29:59' - digit is the maximum possible for a cell
});
Result
If select day is Saturday, the minimum set 11:00, otherwise 8:00
javaScript
var logic = function( currentDateTime ){
// 'this' is jquery object datetimepicker
if( currentDateTime.getDay()==6 ){
this.setOptions({
minTime:'11:00'
});
}else
this.setOptions({
minTime:'8:00'
});
};
jQuery('#datetimepicker_rantime').datetimepicker({
onChangeDateTime:logic,
onShow:logic
});
Result
Invert settings minDate and maxDate
javaScript
jQuery('#datetimepicker8').datetimepicker({
onGenerate:function( ct ){
jQuery(this).find('.xdsoft_date')
.toggleClass('xdsoft_disabled');
},
minDate:'-1970/01/2',
maxDate:'+1970/01/2',
timepicker:false
});
Result
javaScript
jQuery('#datetimepicker9').datetimepicker({
onGenerate:function( ct ){
jQuery(this).find('.xdsoft_date.xdsoft_weekend')
.addClass('xdsoft_disabled');
},
weekends:['01.01.2014','02.01.2014','03.01.2014','04.01.2014','05.01.2014','06.01.2014'],
timepicker:false
});
Result
Date-functions library, Baron Schwartz, used in DateTimePicker for parse and format datetime certainly good, but it is licensed under the LGPL. It is not bad and not good. In this example, you see how use other date parse library
Before start, remove code below jquery.datetimepicker.js. Remove all after comment
// Parse and Format Library
After this add in page next code, as previously
<script src="jquery.datetimepicker.js"></script>
After this you must define two methods for Date object
Date.parseDate = function( input, format ){
// you code for convert string to date object
// simplest variant - use native Date.parse, not given format parametr
return Date.parse(input);
};
Date.prototype.dateFormat = function( format ){
//you code for convert date object to format string
//for example
switch( format ){
case 'd': return this.getDate();
case 'H:i:s': return this.getHours()+':'+this.getMinutes()+':'+this.getSeconds();
case 'h:i a': return ((this.getHours() %12) ? this.getHours() % 12 : 12)+':'+this.getMinutes()+(this.getHours() < 12 ? 'am' : 'pm');
}
// or default format
return this.getDate()+'.'+(this.getMonth()+ 1)+'.'+this.getFullYear();
};
It is only example, it is not real code. For real project this.getDate() must be replace to (this.getDate()<0:'0':'')+this.getDate()
This approach will work in a particular project, but does not work in another. Therefore use the other libraries for working with dates - Moment.js.
Add this code in page
<script src="http://momentjs.com/downloads/moment.min.js"></script>
After this, again re-define 2 methods
Date.parseDate = function( input, format ){
return moment(input,format).toDate();
};
Date.prototype.dateFormat = function( format ){
return moment(this).format(format);
};
After this, you can init datetimepicker with moment.js format
jQuery('#datetimepicker').datetimepicker({
format:'DD.MM.YYYY h:mm a',
formatTime:'h:mm a',
formatDate:'DD.MM.YYYY'
});
javaScript
jQuery(function(){
jQuery('#date_timepicker_start').datetimepicker({
format:'Y/m/d',
onShow:function( ct ){
this.setOptions({
maxDate:jQuery('#date_timepicker_end').val()?jQuery('#date_timepicker_end').val():false
})
},
timepicker:false
});
jQuery('#date_timepicker_end').datetimepicker({
format:'Y/m/d',
onShow:function( ct ){
this.setOptions({
minDate:jQuery('#date_timepicker_start').val()?jQuery('#date_timepicker_start').val():false
})
},
timepicker:false
});
});
Result
Start End
[include scripts/pp/reklama2.php] {module 147}Name | default | Descr | Ex. |
---|---|---|---|
lazyInit | false | Initializing plugin occurs only when the user interacts. Greatly accelerates plugin work with a large number of fields | |
value | null | Current value datetimepicker. If it is set, ignored input.value |
|
lang | en | Language i18n ar - Arabic az - Azerbaijanian (Azeri) bg - Bulgarian bs - Bosanski ca - Catala ch - Simplified Chinese cs - Cestina da - Dansk de - German el - ???????? en - English en-GB - English (British) es - Spanish et - "Eesti" eu - Euskara fa - Persian fi - Finnish (Suomi) fr - French gl - Galego he - Hebrew (?????) hr - Hrvatski hu - Hungarian id - Indonesian it - Italian ja - Japanese ko - Korean (???) kr - Korean lt - Lithuanian (lietuviu) lv - Latvian (Latviesu) mk - Macedonian (Македонски) mn - Mongolian (Монгол) nl - Dutch no - Norwegian pl - Polish pt - Portuguese pt-BR - Portugues(Brasil) ro - Romanian ru - Russian se - Swedish sk - Slovencina sl - Slovenscina sq - Albanian (Shqip) sr - Serbian Cyrillic (Српски) sr-YU - Serbian (Srpski) sv - Svenska th - Thai tr - Turkish uk - Ukrainian vi - Vietnamese zh - Simplified Chinese (????) zh-TW - Traditional Chinese (????) |
|
format | Y/m/d H:i | Format datetime. More Also there is a special type of «unixtime» |
|
formatDate | Y/m/d | Format date for minDate and maxDate |
|
formatTime | H:i | Similarly, formatDate . But for minTime and maxTime |
|
step | 60 | Step time |
|
closeOnDateSelect | 0 |
|
|
closeOnWithoutClick | true |
|
|
validateOnBlur | true | Verify datetime value from input, when losing focus. If value is not valid datetime, then to value inserts the current datetime |
|
timepicker | true |
|
|
datepicker | true |
|
|
weeks | false | Show week number |
|
theme | 'default' | Setting a color scheme. Now only supported default and dark theme |
|
minDate | false |
|
|
maxDate | false |
|
|
startDate | false | calendar set date use starDate |
|
defaultDate | false | if input value is empty, calendar set date use defaultDate |
|
defaultTime | false | if input value is empty, timepicker set time use defaultTime |
|
minTime | false |
|
|
maxTime | false |
|
|
allowTimes | [] |
|
|
mask | false | Use mask for input. true - automatically generates a mask on the field 'format', Digit from 0 to 9, set the highest possible digit for the value. For example: the first digit of hours can not be greater than 2, and the first digit of the minutes can not be greater than 5 |
{mask:'9999/19/39',format:'Y/m/d'} {mask:true,format:'Y/m/d'} // automatically generate a mask 9999/99/99 {mask:'29:59',format:'H:i'} // {mask:true,format:'H:i'} //automatically generate a mask 99:99 |
opened | false | ||
yearOffset | 0 | Year offset for Buddhist era | |
inline | false | ||
todayButton | true | Show button "Go To Today" | |
defaultSelect | true | Highlight the current date even if the input is empty | |
allowBlank | false | Allow field to be empty even with the option validateOnBlur in true | |
timepickerScrollbar | true | ||
onSelectDate | function(){} |
|
|
onSelectTime | function(current_time,$input){} | ||
onChangeMonth | function(current_time,$input){} | ||
onChangeYear | function(current_time,$input){} | ||
onChangeDateTime | function(current_time,$input){} | ||
onShow | function(current_time,$input){} | ||
onClose | function(current_time,$input){} |
|
|
onGenerate | function(current_time,$input){} | trigger after construct calendar and timepicker | |
withoutCopyright | true | ||
inverseButton | false | ||
scrollMonth | true | ||
scrollTime | true | ||
scrollInput | true | ||
hours12 | false | ||
yearStart | 1950 | Start value for fast Year selector | |
yearEnd | 2050 | End value for fast Year selector | |
roundTime | round | Round time in timepicker, possible values: round, ceil, floor |
|
dayOfWeekStart | 0 |
Star week DatePicker. Default Sunday - 0. Monday - 1 ... |
|
className | |||
weekends | [] |
|
|
disabledDates | [] | Disbale all dates in list |
|
id | |||
style |