Dataloaderで日付型、日付/時間型項目を扱う時に知っておきたいこと

Dataloaderで日付型、日付/時間型項目を扱う時に知っておきたいこと

毎回どーだったっけ??と頭を使うところをまとめました
Dataloaderで日付型、日付/時間型項目を扱う時に知っておきたいこと
16
Dataloaderで日付型、日付/時間型項目を扱う時に知っておきたいこと
さらさら
2021/03/02 17:03:24

◇Salesforceでは日付型、日付/時間型の値はGMTで管理されています

GMT=Greenwich Mean Time = グリニッジ標準時 = 日本時間マイナス9時間
・レコード保存時は GMT に変換されて格納
・画面表示はユーザーのタイムゾーン設定に合わせて表示
・レコード抽出ではそのままGMTで出力
これらを頭に入れても実際の作業時に???となってしまいがち...

◇Dataloaderの「日付」 または 「日付/時間」形式

日付型の形式
YYYY-MM-DD
YYYY-MM-DD hh:mm:ss
YYYY-MM-DDThh:mm:ssZ
YYYY-MM-DDThh:mm:ss.sssZ

日付/時間型の形式
YYYY-MM-DD hh:mm:ss
YYYY-MM-DDThh:mm:ssZ
YYYY-MM-DDThh:mm:ss.sssZ

~ YYYY-MM-DDThh:mm:ss.sssZについて ~

スラッシュ/ ではなく ハイフン– 表示になります。
「T」は、時間要素の始まりを示します。
「Z」は GMT の特別な指定です。
参考:Salesforce ヘルプ
https://help.salesforce.com/articleView?id=000325035&type=1&mode=1
インポートでは上記の形式でCSVファイル値を用意します。


◇Dataloaderで処理する際の考慮事項

インポート

※日付/時間型と日付型で、同じ手段でできないのが注意必要な点です。
≪日付/時間型項目≫
例:2000/01/01 0:00表示させたい(希望値になったインポート方法は青背景色です)
 希望日時をAsia/Tokyoで取り込み、又は
 マイナス9時間したデータをGMT取り込み
*1以外は全てCSVデータがそのままGMTで取り込まれ、
 1はタイムゾーンがAsia/Tokyoの為マイナス9時間されて取り込みとなります
*2’、3’、4’はマイナス9時間調整をして取り込んでいます

≪日付型項目≫
例:2000/01/01表示させたい(希望値になったインポート方法は青背景色です)
希望日をGMTで取り込み、又は
プラス1日もしくはプラス9時間調整したデータをAsia/Tokyoで取り込み
*GMTで取り込んだものはそのまま同じ日付になります
*1と3はタイムゾーンAsia/Tokyoの為、前日の日付になってしまいます
*1’はプラス1日調整、3’はプラス9時間調整をして取り込んでいます

両項目を含むレコードをインポートする際は更に注意が必要です。
インポート、エクスポートが頻繁な場合はGMT運用がよいようです。
GMT⇔日本時間の変換はExcel関数式で出来ます。
(Google検索すると載せてくれている方がいます)

エクスポート

・日付型項目(2017/07/07)     → 2017-07-07
・日付/時間型項目(2017/07/07 7:00) → 2017-07-06T22:00:00.000Z
日付型項目は時間が切り捨てされて出力、日時型項目はGMT変換されて出力されます。
※エクスポートのSOQLではGMT時刻を指定します。


◇終わりに

SandboxやTrailhead環境で実際に作業すると理解が深まります。
が、定期的に行っていないと、私がそうですが、なかなか覚えられないと思います。
Sandbox等での事前検証は必須です。

類似内容のSalesforceヘルプや他サイトがあるので、複数読んでみてください☆
より理解しやすいものがあったり、認識合わせができると思います。

gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
16
コメント