CraftCMS に GraphQL で日付を投げる時はUTCで投げる #craftcms

GraphQL 周りで日付のフィールドに情報を投げようとしてあーだこーだしてた。

やろうとしてたのはここで作った kanban でタスクを別のボードに移した日に今日や明日といった日付情報をセットするところだった。

Craft CMS の設定でタイムゾーンは Asia/Tokyo にしてあるのだけど、 テンプレート上で GraphQL で日付を投げる時や GraphiQL で日付をなげるときは 2020-05-20 だけだとだめで、UTCで投げないとずれる。

日付だけ投げた時。

これだと9時間ずれで別の日になってしまう。

なので 2020-05-16T00:00:00+09:00 こんな感じで投げる必要がある。

+09:00 が渡ってると思いきや出てる環境と出てない環境があって時間がずれてるとかあったりで。

{% set today = date('today')|atom %}
{{ today }}
→ 2020-05-20T00:00:00+09:00

で処理してたはずなんだけどなんでだろうな・・・・

よろしくはないけど、一旦ベタ書きして対応してた。

{{ today | date('Y-m-d\\TH:i+09:00') }}

Twig / PHP の日付周りさわってて

{{ now | date_modify('next friday') | date('m-d-Y') }}

こんな感じでかけるのは楽だなぁと思う。