Разница во времени при добавлении событий в Календарь Google - PullRequest
4 голосов
/ 14 марта 2012

У меня есть код для добавления событий в Google Calender для данного почтового идентификатора.

Проблема заключается в том, что при попытке добавить события возникают проблемы с разницей во времени.

Например, еслиЯ добавляю следующее в календарь 03/21/2012 8:00AM время в записи календаря, просматриваемой в Интернете, устанавливается на 17:30.

Вот мой код:

$gmail = 'mail@gmail.com';
$gpwd = '1233';
$datetime1 = strtotime('03/21/2012 8:00AM');
$date1 = date("Y-m-d", $datetime1);
$idg = add_to_calendernow1($gmail,$gpwd,$id,$date1,$datetime1);

function add_to_calendernow1($gmail,$gpwd,$ticket,$date,$timestamp){
    if($gmail){
        /* Change the below path with correct path class1.php and class2.php are in the includes directory */
        include('includes/class1.php');
        include('includes/class2.php');
        $email = $gmail;  
        $password = $gpwd;  
        $altEmail = $gmail; 
        $login = new GoogleClientLogin($email, $password, GoogleClientLogin::$CALENDAR_SERVICE, APP_NAME);  
        $cal = new GoogleCalendar($login);
        $cal->altEmail = $altEmail; 
        $content = "Ticket #".$ticket." scheduled now";
        $entryData = $cal->addEvent(array(  
                        "title"=> "Ticket #".$ticket." Scehduled An Item",  
                        "content"=> $content,
                        "where"=> "",  
                        "startTime"=> $timestamp,
                        "endTime"=> $timestamp
                    ));  
        $id_now = explode('feeds/',$entryData['id']);
        $sec_id = $id_now[1];
        $id_id = explode('/',$sec_id);
        return $id_id[0];
    } 
}

GoogleClientLogin и GoogleCalendarклассы пришли из этого сообщения в блоге:

http://mark.biek.org/blog/2010/07/addingdeleting-events-with-the-google-calendar-api/

Кто-нибудь имеет какие-либо идеи о том, что может быть причиной этого?

Часовой пояс Календаря Google установлен на ВосточныйСтандартное время и сервер в США.

Что еще мне нужно сделать в моем коде, чтобы убедиться, что время переносится правильно?

1 Ответ

1 голос
/ 17 марта 2012

Вы не устанавливаете часовой пояс нигде в примере, который у вас есть, поэтому я предполагаю, что ваш часовой пояс неверен, что означает, что PHP, вероятно, использует настройку по умолчанию, которая может быть примерно любой.

Попробуйте установитьчасовой пояс с date_default_timezone_set ()

...