2012-03-28 14 views
1

GCalにOAuth 2.0 APIを統合したPHPベースのアプリケーションがあります。 DST + 1時間の問題を除いてすべて正常に動作します。このアプリケーションは英国向けで、ユーザーアカウントのタイムゾーンも保存しています。私が午前3時にタスクを追加している場合、GCalで私は午前4時を示します。これは、タスクを追加しながらsetTimeZone()のヨーロッパ/ロンドンとしてタイムゾーンをハードコードしたときです。さらに、GCalアカウントの設定はヨーロッパ/ロンドンの設定と同じです。これはちょっとイライラしていますので、このDST +1時間の時間差を処理す​​るために私のコードで何を変更する必要がありますかを教えてください。コードは次のとおりです。DST GCalイベントで+1時間の時間差が生じる

$evt = new Event(); 
$evt->setDescription($txtDesc); 
$evt->setSummary($taskTypeTxt); 

#--Setting Event Date 
$evtDT = new EventDateTime(); 
$evtDT2  = new EventDateTime(); 

$evtDT->setDateTime($startDate); 
$evtDT->setTimeZone('Europe/London'); 

$evtDT2->setDateTime($endDate); 
$evtDT2->setTimeZone('Europe/London'); 
$evt->setOriginalStartTime($evtDT); 
$evt->setStart($evtDT); 
$evt->setEnd($evtDT2); 

$field = array('items/id'); 
$evtId = $cal->events->insert($user_email,$evt,$field); 

答えて

0

私は同じ問題を抱えています。

タイムゾーンをGMT + 0またはGMT + 1(BST)に設定するかどうかには多少の曖昧さがあるようです。後者は、DSTの変更を手動で処理する必要があることを暗示しますが、GMT + 0を設定すると、クロックが変更されたときに自動的に更新されませんでした。

+1

このようなイベントの日付に+1時間を追加することで、この問題をソートしました。>> define( "GCAL_DST"、 "+ 01:00"); 'date'( 'd')。 'T'.date(' H ')。': 'date(' ') i ')。':00'.GCAL_DST;今はうまく動作します。 – Manish

+0

ありがとうございます。私はいくつかの変更を加えましたが、10月まで働いたかどうかわかりません... – Leo

関連する問題