Fix bug 427006 - Timezone offset incorrectly calculated for negative half hour timezones. r=dbo
git-svn-id: svn://10.0.0.236/trunk@251260 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -285,6 +285,9 @@ calGoogleCalendar.prototype = {
|
||||
request.operationListener = aListener;
|
||||
request.calendar = this;
|
||||
|
||||
var ctz = gdataTimezoneProvider.getShortTimezone(calendarDefaultTimezone());
|
||||
request.addQueryParameter("ctz", ctz);
|
||||
|
||||
this.session.asyncItemRequest(request);
|
||||
return request;
|
||||
} catch (e) {
|
||||
@@ -372,6 +375,9 @@ calGoogleCalendar.prototype = {
|
||||
request.oldItem = aOldItem;
|
||||
request.calendar = this;
|
||||
|
||||
var ctz = gdataTimezoneProvider.getShortTimezone(calendarDefaultTimezone());
|
||||
request.addQueryParameter("ctz", ctz);
|
||||
|
||||
this.session.asyncItemRequest(request);
|
||||
return request;
|
||||
} catch (e) {
|
||||
@@ -471,6 +477,8 @@ calGoogleCalendar.prototype = {
|
||||
request.calendar = this;
|
||||
|
||||
// Request Parameters
|
||||
var ctz = gdataTimezoneProvider.getShortTimezone(calendarDefaultTimezone());
|
||||
request.addQueryParameter("ctz", ctz);
|
||||
request.addQueryParameter("max-results", kMANY_EVENTS);
|
||||
request.addQueryParameter("singleevents", "false");
|
||||
|
||||
@@ -545,6 +553,8 @@ calGoogleCalendar.prototype = {
|
||||
request.itemFilter = aItemFilter;
|
||||
|
||||
// Request Parameters
|
||||
var ctz = gdataTimezoneProvider.getShortTimezone(calendarDefaultTimezone());
|
||||
request.addQueryParameter("ctz", ctz);
|
||||
request.addQueryParameter("max-results",
|
||||
aCount ? aCount : kMANY_EVENTS);
|
||||
request.addQueryParameter("singleevents", "false");
|
||||
|
||||
@@ -352,9 +352,10 @@ function toRFC3339(aDateTime) {
|
||||
return "";
|
||||
}
|
||||
|
||||
var tzoffset_hr = Math.floor(aDateTime.timezoneOffset / 3600);
|
||||
var full_tzoffset = aDateTime.timezoneOffset;
|
||||
var tzoffset_hr = Math.floor(Math.abs(full_tzoffset) / 3600);
|
||||
|
||||
var tzoffset_mn = ((aDateTime.timezoneOffset / 3600).toFixed(2) -
|
||||
var tzoffset_mn = ((Math.abs(full_tzoffset) / 3600).toFixed(2) -
|
||||
tzoffset_hr) * 60;
|
||||
|
||||
var str = aDateTime.year + "-" +
|
||||
@@ -368,9 +369,9 @@ function toRFC3339(aDateTime) {
|
||||
("00" + aDateTime.minute).substr(-2) + ":" +
|
||||
("00" + aDateTime.second).substr(-2);
|
||||
if (aDateTime.timezoneOffset != 0) {
|
||||
str += (tzoffset_hr < 0 ? "-" : "+") +
|
||||
("00" + Math.abs(tzoffset_hr)).substr(-2) + ":" +
|
||||
("00" + Math.abs(tzoffset_mn)).substr(-2);
|
||||
str += (full_tzoffset < 0 ? "-" : "+") +
|
||||
("00" + tzoffset_hr).substr(-2) + ":" +
|
||||
("00" + tzoffset_mn).substr(-2);
|
||||
} else if (aDateTime.timezone.isFloating) {
|
||||
// RFC3339 Section 4.3 Unknown Local Offset Convention
|
||||
str += "-00:00";
|
||||
|
||||
Reference in New Issue
Block a user