取得したデータのタイムゾーンはどうなりますか

取得したデータのタイムゾーンはどうなりますか

Q.

セールスフォースから取得したデータを、SkyOnDemandの日付/時間型変数に代入し、その値をテンポラリデータベースに書き込みます。

それぞれの場面でタイムゾーンはどうなっていますか。

A. 

それぞれのシステムにおける適切なタイムゾーンが設定されて扱われます。

例1:

次のような設定になっているとします。(テンポラリDBのカラムのデータ型はtimestamp with timezone)

Salesforce

SkyOnDemand

テンポラリDB

JST(連携に使用されるユーザーのタイムゾーン)

JST

UTC ※変更不可

それぞれの場面での値はつぎのようになります。

Salesforceの画面上

SkyOnDemand

Salesforceアダプタで取得

日付/時間型変数に代入

テンポラリDBに挿入

2014/2/28 6:00

 Fri Feb 28 06:00:00 JST 2014

2014-02-28T06:00:00.000+0900

2014-02-27 21:00:00+00

なお、この処理の後、テンポラリDBからSkyOnDemandに取り出すと、その値は再びJSTになっています。

例2:

次のような設定になっているとします。(テンポラリDBのカラムのデータ型はtimestamp with timezone)

Salesforce

SkyOnDemand

テンポラリDB

PST(連携に使用されるユーザーのタイムゾーン)

JST

UTC ※変更不可

それぞれの場面での値は次のようになります。

Salesforceの画面上

SkyOnDemand

Salesforceアダプタで取得

日付/時間型変数に代入

テンポラリDBに挿入

2014/02/27 21:00

Fri Feb 28 14:00:00 JST 2014

2014-02-28T14:00:00.000+0900

2014-02-28 05:00:00+00