kintoneの日付を世界標準時から日本のタイムゾーンにして表示する

kintoneの Webhookなどで、日付型のデータを受信すると「世界標準時」のタイムゾーンで渡されます。そのため、次のようなプログラムでこれをそのまま表示しようとすると日付がずれてしまいます。

date('Y-m-d', $from_kintone_date);

次のように処理すると、タイムゾーンを変更して表示できます。

$date = new DateTime($from_kintone_date);
$timezone = new DateTimeZone('Asia/Tokyo');
$date->setTimezone($timezone);
echo $date->format('Y-m-d');

DateTimeオブジェクトを作成してからsetTimezoneメソッドでタイムゾーンを変えることがポイントです。あとは、formatメソッドで表示すると良いでしょう。