|
1574 | 1574 |
|
1575 | 1575 | var tzoffset = $.timepicker.timezoneOffsetNumber(tp_inst.timezone); |
1576 | 1576 | var now = new Date(); |
1577 | | - now.setMinutes(now.getMinutes() + now.getTimezoneOffset() + tzoffset); |
| 1577 | + now.setMinutes(now.getMinutes() + now.getTimezoneOffset() + parseInt(tzoffset, 10)); |
1578 | 1578 | this._setTime(inst, now); |
1579 | 1579 | this._setDate(inst, now); |
1580 | 1580 | tp_inst._onSelectHandler(); |
|
1707 | 1707 | if (!tp_inst.support.timezone && tp_inst._defaults.timezone === null) { |
1708 | 1708 | tp_inst.timezone = tp_date.getTimezoneOffset() * -1; |
1709 | 1709 | } |
1710 | | - date = $.timepicker.timezoneAdjust(date, tp_inst.timezone); |
1711 | | - tp_date = $.timepicker.timezoneAdjust(tp_date, tp_inst.timezone); |
| 1710 | + date = $.timepicker.timezoneAdjust(date, $.timepicker.timezoneOffsetString(-date.getTimezoneOffset()), tp_inst.timezone); |
| 1711 | + tp_date = $.timepicker.timezoneAdjust(tp_date, $.timepicker.timezoneOffsetString(-tp_date.getTimezoneOffset()), tp_inst.timezone); |
1712 | 1712 | } |
1713 | 1713 |
|
1714 | 1714 | this._updateDatepicker(inst); |
|
1767 | 1767 | if (!tp_inst.support.timezone && tp_inst._defaults.timezone === null) { |
1768 | 1768 | tp_inst.timezone = date.getTimezoneOffset() * -1; |
1769 | 1769 | } |
1770 | | - date = $.timepicker.timezoneAdjust(date, tp_inst.timezone); |
| 1770 | + date = $.timepicker.timezoneAdjust(date, tp_inst.timezone, $.timepicker.timezoneOffsetString(-date.getTimezoneOffset())); |
1771 | 1771 | } |
1772 | 1772 | } |
1773 | 1773 | return date; |
|
2096 | 2096 | /** |
2097 | 2097 | * No way to set timezone in js Date, so we must adjust the minutes to compensate. (think setDate, getDate) |
2098 | 2098 | * @param {Date} date |
| 2099 | + * @param {string} fromTimezone formatted like "+0500", "-1245" |
2099 | 2100 | * @param {string} toTimezone formatted like "+0500", "-1245" |
2100 | 2101 | * @return {Date} |
2101 | 2102 | */ |
2102 | | - $.timepicker.timezoneAdjust = function (date, toTimezone) { |
| 2103 | + $.timepicker.timezoneAdjust = function (date, fromTimezone, toTimezone) { |
| 2104 | + var fromTz = $.timepicker.timezoneOffsetNumber(fromTimezone); |
2103 | 2105 | var toTz = $.timepicker.timezoneOffsetNumber(toTimezone); |
2104 | 2106 | if (!isNaN(toTz)) { |
2105 | | - date.setMinutes(date.getMinutes() + -date.getTimezoneOffset() - toTz); |
| 2107 | + date.setMinutes(date.getMinutes() + (-fromTz) - (-toTz)); |
2106 | 2108 | } |
2107 | 2109 | return date; |
2108 | 2110 | }; |
|
0 commit comments