@@ -69,6 +69,7 @@ function Timepicker() {
69
69
second : 0 ,
70
70
millisec : 0 ,
71
71
timezone : null ,
72
+ defaultTimezone : "+0000" ,
72
73
hourMin : 0 ,
73
74
minuteMin : 0 ,
74
75
secondMin : 0 ,
@@ -111,6 +112,8 @@ $.extend(Timepicker.prototype, {
111
112
second : 0 ,
112
113
millisec : 0 ,
113
114
timezone : null ,
115
+ useLocalTimezone : false ,
116
+ defaultTimezone : "+0000" ,
114
117
hourMinOriginal : null ,
115
118
minuteMinOriginal : null ,
116
119
secondMinOriginal : null ,
@@ -448,9 +451,14 @@ $.extend(Timepicker.prototype, {
448
451
if ( typeof this . timezone != "undefined" && this . timezone != null && this . timezone != "" ) {
449
452
this . timezone_select . val ( this . timezone ) ;
450
453
} else {
451
- selectLocalTimeZone ( tp_inst ) ;
454
+ if ( typeof this . hour != "undefined" && this . hour != null && this . hour != "" ) {
455
+ this . timezone_select . val ( o . defaultTimezone ) ;
456
+ } else {
457
+ selectLocalTimeZone ( tp_inst ) ;
458
+ }
452
459
}
453
460
this . timezone_select . change ( function ( ) {
461
+ tp_inst . useLocalTimezone = false ;
454
462
tp_inst . _onTimeChange ( ) ;
455
463
} ) ;
456
464
@@ -1061,7 +1069,15 @@ $.datepicker._updateDatepicker = function(inst) {
1061
1069
1062
1070
// Reload the time control when changing something in the input text field.
1063
1071
var tp_inst = this . _get ( inst , 'timepicker' ) ;
1064
- if ( tp_inst ) tp_inst . _addTimePicker ( inst ) ;
1072
+ if ( tp_inst ) {
1073
+ tp_inst . _addTimePicker ( inst ) ;
1074
+
1075
+ if ( tp_inst . useLocalTimezone ) { //checks daylight saving with the new date.
1076
+ var date = new Date ( inst . selectedYear , inst . selectedMonth , inst . selectedDay , 12 ) ;
1077
+ selectLocalTimeZone ( tp_inst , date ) ;
1078
+ tp_inst . _onTimeChange ( ) ;
1079
+ }
1080
+ }
1065
1081
}
1066
1082
} ;
1067
1083
@@ -1402,10 +1418,11 @@ var parseDateTimeInternal = function(dateFormat, timeFormat, dateTimeString, dat
1402
1418
//#######################################################################################
1403
1419
// Internal function to set timezone_select to the local timezone
1404
1420
//#######################################################################################
1405
- var selectLocalTimeZone = function ( tp_inst )
1421
+ var selectLocalTimeZone = function ( tp_inst , date )
1406
1422
{
1407
1423
if ( tp_inst && tp_inst . _defaults . showTimezone && tp_inst . timezone_select ) {
1408
- var now = new Date ( ) ;
1424
+ tp_inst . useLocalTimezone = true ;
1425
+ var now = typeof date !== 'undefined' ? date : new Date ( ) ;
1409
1426
var tzoffset = now . getTimezoneOffset ( ) ; // If +0100, returns -60
1410
1427
var tzsign = tzoffset > 0 ? '-' : '+' ;
1411
1428
tzoffset = Math . abs ( tzoffset ) ;
0 commit comments