2012-10-02 42 views
1

當我使用Zend API添加事件時,在夏令時夏令時月份時間爲一小時。Zend Google Calendar API - 添加事件關閉一小時

我用於添加日期的字符串是「2012-10-02T06:00:00-05:00」。我在東部時區,我的Google日曆也設置爲東部時間,但時間顯示爲早上7點。 我也試過「2012-10-02T06:00:00.000-05:00」。

我也嘗試過使用date_default_timezone_set(「America/Detroit」)。

任何想法?我一直在研究並嘗試解決這一段現在。

謝謝。

回答

0

Zend_Gdata_Calendar_EventEntry允許您呼叫getTimezone()setTimezone()也應該能夠將時區標識符應用於您的條目或UTC偏移量。

"end": { 
    "dateTime": "2012-07-12T10:30:00.0z" //z is identifier for UTC 
}, 
"start": { 
    "dateTime": "2012-07-12T09:30:00.0z" 
} 

"start": { 
    "dateTime": "2012-07-11T03:30:00-06:00" //-06:00 would be UTC offset 
}, 
"end": { 
    "dateTime": "2012-07-11T04:30:00-06:00" 
} 
1

我確實將時區標識符應用於我的條目。我用-05:00 - > 「2012-10-02T06:00:00-05:00」

我以爲setTimezone僅適用於Zend_Date的運算

0

如果你看google calendar API,你會發現該事件dateTime必須以RFC 3339格式傳遞(如您已經知道基於您在問題中提供的示例)。

specification for the rfc 3339 format狀態:

由於夏令規則的本地時區是如此 費解,並且可以更改基於在不可預測的時間當地法律, 真正的互操作性最好使用協調世界 時間實現(世界標準時間)。本規範不適用於當地時區 規則。

這基本上意味着這個規範沒有考慮到DST。基本上,在將日期傳遞給Google Calendar API之前,您需要負責爲您調整DST。

相關問題