2016-03-18 20 views
0

Yani oluşturmaya çalışıyorum Google Takvim etkinlik yükleri yanlış zaman eklemek için bir bu biçimde bulunan "Takvime Etkinlik Ekle": https://www.google.com/calendar/render?action=TEMPLATE&text=My+Big+Party&dates=20160320T140000Z/20160320T180000Z&details=It+will+be+crazy&location=123+Granville+St+Vancouver+BC&sf=true&output=xmlBağlantı

Ve çoğunlukla çalışır, ancak saat yanlış. Vancouver'dayım (etkinlikle aynı saat diliminde) ve olayı saat 7'den 11'e kadar kaydetmek istiyor (saat 14: 00'a kadar).

Neyi yanlış yapıyorum?

DÜZENLEME:

Ben UTC benim kez dönüştürmek için çalışıyorum ama "olmayan bir nesne üzerinde() üye fonksiyonu setTimeZone çağır" alıyorum:

function ls_convert_time($dt, $tz1, $df1, $tz2, $df2) { 
     // create DateTime object 
     $d = DateTime::createFromFormat($df1, $dt, new DateTimeZone($tz1)); 
     // convert timezone 
     $d->setTimeZone(new DateTimeZone($tz2)); 
     // convert dateformat 
     return $d->format($df2); 
    } 

$new_start_time = ls_convert_time($start_time, $time_zone, 'HHmmss', 'UTC', 'HHmmss'); 
$new_end_time = ls_convert_time($end_time, $time_zone, 'HHmmss', 'UTC', 'HHmmss'); 
+0

http://stackoverflow.com/questions/28519285/google-calendar-api-v3-time-zone-issues – abielita

+0

olası kopyası Şablonunuzda tarihlerin sonunda Z var, yani UTC saat diliminde yorumlanacaklar. Örneğin, istediğiniz zamanın UTC eşdeğerini bulabilir ve mevcut seti değiştirebilirsiniz. – luc

+0

Sonuna & ctz = America/Vancouver ekleyerek saat dilimini belirtebilirim. Bu durumda neden UTC'ye dönmem gerektiğinden emin değilim. Ama yapmam gereken şey buysa, nasıl yaparım? Benim zamanım şu şekilde biçimlendirilmiş: 140000 (bu 2pm olurdu). –

cevap

0

Z'yi zamanın dışına çıkarın ve ctz'yi kullanmayın. Bu sizin için çalışacaktır ve bu doğru bölgeler için doğru zaman gösterecektir

İlgili konular