2017-01-25 5 views
1

Google 캘린더에 이벤트를 저장하기 위해 Google API를 배열 아래에 보내고 있지만 잘못된 시간에 표시하고 있습니다. 아무도 도와 줄 수 있습니까? 내 구글 캘린더 30 : 00-4를 : 이벤트를 저장 9시 30 분 시간 그러나 25 일 년 1 월 2017 4로 표시됩니다 -Google 캘린더 시간대가 올바르지 않습니다.

Array 
(
[summary] => XXXXXXXXXXXXXXXXXXXX 
[location] => XXXXXXXXXXXXXXXXXXX 
[description] => XXXXXXXXXXXXXXXX 
[start] => Array 
    (
     [dateTime] => 2017-01-25T09:00:00+0000 
     [timeZone] => America/Toronto 
    ) 

[end] => Array 
    (
     [dateTime] => 2017-01-25T09:30:00+0000 
     [timeZone] => America/Toronto 
    ) 

[attendees] => Array 
    (
     [0] => Array 
      (
       [email] => XXXXXXXXXXXXXXXXXXXXXXXXXXXX 
      ) 

     [1] => Array 
      (
       [email] => XXXXXXXXXXXXXXXXXXXXXXXXXXXX 
      ) 

    ) 

[reminders] => Array 
    (
     [useDefault] => 
     [overrides] => Array 
      (
       [0] => Array 
        (
         [method] => email 
         [minutes] => 1440 
        ) 

       [1] => Array 
        (
         [method] => popup 
         [minutes] => 10 
        ) 

      ) 

    ) 

I 9:00을 보낸다. 나는 PHP 구글 구글 캘린더 API를 사용하고있다. 감사합니다.

+0

'+0000'이 (가) 시간대를 지정했습니다. 토론토 시간대 인 '-0500'으로 변경하면 어떻게됩니까? 또는 모두 삭제하고 'timeZone'문을 사용하십시오 (그러면 Summertime Savings에 대처할 때 더 좋을 것입니다). – Robbie

+0

답장을 보내 주셔서 감사합니다. @Robbie 예, 정적 날짜에는 완벽하게 작동합니다. 나는이 ' $ 시작 = 새로운 날짜 시간 (날짜 같은 ('Ymd 일수 H : 나는 : s'를 갖고, 한 strtotime ($ 날짜)); '시작'=> 배열 ( \t \t '날짜 _ 시간을'=> $ 시작 -> 포맷 (날짜 시간 : ISO8601), 'timeZone가'=> '미국/토론토, ), ' 당신이 -'05을 만드는 방법을 도와주세요 수 : 00'이 형식 감사 –

+0

하는 경우를? 나는 보낸 날짜로부터 5 시간을 공제했으나 작동 할 것이지만 올바른 방법이 아닌 것으로 생각하고 있습니다. 날짜로부터 5 시간을 감안하면 내 위치에서만 작동 할 수 있습니다. 동적으로 설정하는 방법이 있습니까? 내 위치에 따라 시간이 있습니까? –

답변

0

dateTime 필드는 이벤트가 발생하는 시점을 지정하며 시간대는 시간대에서 사용자에게이를 표시하기위한 장식입니다 (오프셋을 생략하고 시간대의 오프셋을 가져 오지 않는 한). 고려). dateTime 필드의 오프셋은 시간 평가에 중요합니다 (사용자가 지정한 경우 +0000은 "UTC에서 오프셋 없음"을 의미 함). 00 : 00 : 00 + 0000

  • 는 UTC에 2017-01-25T14 시간을 지정 (또는 더 나은 2017-01-25T14 : 00 : 00Z)을

  • 당신은 세 가지 옵션이 있습니다 지정 토론토와 시간 오프셋 2017-01-25T09 : 00 : 00 : 00 : 00

-0500

  • 는 2017-01-25T09 모두 오프셋 생략

  • 0

    +0000없이 2017-01-25T09:00:00 만 넣을 수 있습니다. 시간대를 올바르게 지정하려면 timeZone 속성을 사용합니다.

    내 대답을 확인할 수 있습니다 thread.

    { 
    "end": { 
        "dateTime": "2017-01-25T09:30:00", 
        "timeZone": "America/Toronto" 
    }, 
    "start": { 
        "dateTime": "2017-01-25T09:00:00", 
        "timeZone": "America/Toronto" 
    } 
    } 
    

    나는 API 탐색기를 사용하여 테스트했으며 제대로 작동합니다.

    관련 문제