いつも調べてしまうDateTime
Apexとかでコードを書いてると普通にDatetime.newInstance()を使って日付の宣言とかするんで
特に気にしないんですが、業務の都合上DataLoaderとか使ってSOQLで大量のデータを引っ張る時なんかに
毎度毎度リファレンスやら他の方のブログやら読んで
何回目やこれ見るの。。。
と自己嫌悪に陥るのは僕だけじゃないはず
(。。。と信じてる)
てことでおさらい。
日付を指定するのは下記の3つの方法がある。
YYYY-MM-DDThh:mm:ss + hh:mm
YYYY-MM-DDThh:mm:ss-hh:mm
YYYY-MM-DDThh:mm:ssZ
これをCreatedDate >= YYYY-MM-DDThh:mm:ssZ
みたいな感じでやっていく。
ただどれを使うのが正解なのか。
dateTimeの値は協定世界時(UTC)で保存されます。dateTimeの値がSalesforceで返されるときに、組織の設定で指定したタイムゾーンに調整されます。ただし、SOQLクエリはdateTime項目の値をUTC値で返します。これらの値をさまざまなタイムゾーンで処理するには、アプリケーションによる変換処理が必要になる場合があります。
僕の理解では追いつかなかった。。。
誰か助けて偉い人。。
profile
生まれも育ちも大阪の浪速中の浪速っ子が30才未経験からITエンジニアとして生きるブログもやってます。
よかったらみてください