0

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」タイムゾーンはすべて非推奨であるため、使用しないようにという警告が表示されます。

4

0 に答える 0