@@ -471,7 +471,7 @@ $.extend(Timepicker.prototype, {
471
471
) ;
472
472
if ( typeof ( this . timezone ) != "undefined" && this . timezone !== null && this . timezone !== "" ) {
473
473
var local_date = new Date ( this . inst . selectedYear , this . inst . selectedMonth , this . inst . selectedDay , 12 ) ;
474
- var local_timezone = timeZoneString ( local_date ) ;
474
+ var local_timezone = $ . timepicker . timeZoneOffsetString ( local_date ) ;
475
475
if ( local_timezone == this . timezone ) {
476
476
selectLocalTimeZone ( tp_inst ) ;
477
477
} else {
@@ -1553,26 +1553,29 @@ var selectLocalTimeZone = function(tp_inst, date)
1553
1553
if ( tp_inst && tp_inst . timezone_select ) {
1554
1554
tp_inst . _defaults . useLocalTimezone = true ;
1555
1555
var now = typeof date !== 'undefined' ? date : new Date ( ) ;
1556
- var tzoffset = timeZoneString ( now ) ;
1556
+ var tzoffset = $ . timepicker . timeZoneOffsetString ( now ) ;
1557
1557
if ( tp_inst . _defaults . timezoneIso8601 ) {
1558
1558
tzoffset = tzoffset . substring ( 0 , 3 ) + ':' + tzoffset . substring ( 3 ) ;
1559
1559
}
1560
1560
tp_inst . timezone_select . val ( tzoffset ) ;
1561
1561
}
1562
1562
} ;
1563
1563
1564
- // Input: Date Object
1565
- // Output: String with timezone offset, e.g. '+0100'
1566
- var timeZoneString = function ( date )
1567
- {
1568
- var off = date . getTimezoneOffset ( ) * - 10100 / 60 ;
1569
- var timezone = ( off >= 0 ? '+' : '-' ) + Math . abs ( off ) . toString ( ) . substr ( 1 ) ;
1570
- return timezone ;
1571
- } ;
1572
-
1573
1564
$ . timepicker = new Timepicker ( ) ; // singleton instance
1574
1565
$ . timepicker . version = "1.0.2" ;
1575
1566
1567
+ /**
1568
+ * Get the timezone offset as string from a date object (eg '+0530' for UTC+5.5)
1569
+ * @param date
1570
+ * @return string
1571
+ */
1572
+ $ . timepicker . timeZoneOffsetString = function ( date ) {
1573
+ var off = date . getTimezoneOffset ( ) * - 1 ,
1574
+ minutes = off % 60 ,
1575
+ hours = ( off - minutes ) / 60 ;
1576
+ return ( off >= 0 ? '+' : '-' ) + ( '0' + ( hours * 101 ) . toString ( ) ) . substr ( - 2 ) + ( '0' + ( minutes * 101 ) . toString ( ) ) . substr ( - 2 ) ;
1577
+ } ;
1578
+
1576
1579
//#######################################################################################
1577
1580
// Changes by simonvwade to better handle time range limits
1578
1581
//#######################################################################################
0 commit comments