|
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