Carbon(PHP/Laravel)でタイムゾーンが異なる日時を扱う場合の対応方法

はじめまして。新卒で入社し、2年目に入った遠藤です。

Carbonでのタイムゾーン変更方法について記載します。

タイムゾーンの異なる日時との出会い

開発中に、日本時間(JST)ではないタイムゾーンの日時でデータを飛ばしてくるPayPalのWebhookに出会いました。

PayPalから来るWebhookには以下の2つのタイムゾーンのデータがありました。

・PST 米国太平洋標準時      例)’03:00:00 April 14, 2022 PST’

・PDT 米国太平洋標準時(夏時間) 例)’03:00:00 April 14, 2022 PDT’

最初は、以下のように実装しようとしてました。

タイムゾーン変更メソッド

しかし、Carbonには便利なメソッドがあり簡単にタイムゾーン対応ができました。

どんなタイムゾーンの日時が来たとしてもいい感じに日本時間に変換してくれました。

以下のように、config/app.phpのタイムゾーン設定は’Asia/Tokyo’だけど、’PDT’等他のタイムゾーンに変更したい時でも、timezoneメソッドで対応できます。



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ