Xero アカウントには、ここで定義されたリストから選択できるタイムゾーンがあります。例は次のとおりです。
- MOROCCOSTANDARDTIME = (UTC) カサブランカ
- UTC = (UTC) 協定世界時
- GMTSTANDARDTIME = (UTC) ダブリン、エジンバラ、リスボン、ロンドン
- GREENWICHSTANDARDTIME = (UTC) モンロビア、レイキャビク
- WEUROPESTANDARDTIME = (UTC+01:00) アムステルダム、ベルリン、ベルン、ローマ、ストックホルム、ウィーン
Xero API から取得した日付は次のようになります。これは支払い期日です。
<Date>2015-07-17T00:00:00</Date>
ドキュメントからの含意は、保存された日付、およびおそらく API によって配信された日付は、ユーザー アカウントに定義されたタイムゾーンにあると解釈する必要があるということです。つまり、ログイン時の Xero の設定です。
ここで、これらの日付を PHP オブジェクトに入れたいと思います。DateTime
正しいTimezone
. Xero が使用するタイムゾーンから PHP のタイムゾーンに使用できるマッピングはありますか? 私の知る限り、使用可能なすべての PHP タイムゾーンは DST を使用していますが、Xero が使用するタイムゾーンはそうではありません。UTC からのオフセットは一年中一定のままです。
たとえば、UTC+01:00 である WEUROPESTANDARDTIME に設定された Xero アカウントの "2015-07-17T00:00:00" をDateTime
正しいタイムゾーンの PHP に変換するにはどうすればよいでしょうか? コンバートしてみたらどうですか?PHP の「UTC+N」タイムゾーンはすべて非推奨であるため、使用しないようにという警告が表示されます。