SalesforceのDataLoader

鬼門になる日付まわり。
マニュアルやらWebの情報やらを見ていると、たとえば日本時間で 2014/11/05 12:00:00 の日付をインポートしたい場合は、
「2014-11-05T03:00:00Z」
みたいに、タイムゾーン変換と書式の変換を行って食わせなければいけないような感じに見える。

が、実際はDataloaderの設定画面に「TimeZone」という項目があり、これを「Asia/Tokyo」としておくと

"ID","NAME","THEDATETIME__C"
"","Test Line","2014-11-05 12:00:00"

のようなcsvを食わせれば、ちゃんとタイムゾーン処理が行われて、Salesforceの画面上でも 2014/11/05 12:00:00 というデータになる。
あえてタイムゾーン情報を含まないプレーンな(?)日時を食わせて、それをDataLoaderのデフォルトタイムゾーン設定で処理させるのがミソ。

定期的なデータ処理バッチなどで日付を扱う際は、DataloaderのTimeZone設定と日付の書式(yyyy-mm-dd hh:mm:nn)調整だけでなんとかしのげそうな予感。

なお、DateTime型は上記のトリックが効くが、Date型は効かない。"2014-11-05 00:00:00"などとワザと時刻まで指定しても、1日前(正確には9時間前の日付)で登録されてしまう。なので"2014-11-05 09:00:00"とすれば、正しく(9時間前でも2014-11-05なので)登録される。


ちなみにDataLoaderでインポートエクスポートされるcsvSJISだけど、これって何を基準に設定されてるんだろう。OSの標準文字コードだろうか?
もしかすると他の言語のOS上だと日本語が化けるのかな?・・・まあ、直ぐにはテストできないので謎のまま終わる。