私はウェブページを作って、Googleカレンダーの次の3つのイベントをホームページに表示しようとしています。私はこのPHP(http://james.cridland.net/code/google-calendar.html)を使って私のXMLフィードにアクセスし、それをHTMLにフォーマットしています。PHPを使用してGoogleカレンダーXMLを解析する - 終了日が1日遅れる
私が抱えている問題は何らかの理由で新しい日が午前11時に始まることです。たとえば、Googleカレンダーに12月20日の10時から1時間続くイベントがある場合、PHPの出力には20日の午前10時から21日の午前11時に終了するイベントが表示されます。それ以外の場合は正常に動作しています。
私は私のGoogleカレンダーアカウントにローカル(ニュージーランド)の時間に私の時間を設定し、PHPでdate_default_timezone_set("Pacific/Auckland");
終了日が
$gCalDateEnd = date($dateformat, strtotime($ns_gd->when->attributes()->endTime)+date("Z",strtotime($ns_gd->when->attributes()->endTime)));
で計算恐ろしいラインを使用しているの$ DATEFORMAT日付形式の文字列です。
GoogleカレンダーのXMLはスタートを与え、それぞれ
2011-12-22T10:00:00.000+13:00
2011-12-23T11:00:00.000+13:00
の時間を終えると、PHPは午前10時2011年12月22日の期間を計算している2011年12月午後2時23へ
行くいただきましたに?!?!
ありがとう、私はそれがそれのようなものであることを知っていた。彼のコードの変更ログで読んだところから、夏時間を考慮するために+日付( 'Z'、...)を使用しようとしていたように聞こえましたが、XMLはGoogleがすでに+13。 –