Apex開發 --關於系統集成多時區

學習目標
1,處理多時區問題

多時區

Salesforce支持多時區。時區的設置可以在個人中心設置
在這裏插入圖片描述每個用戶可與根據自己所處的時區進行設置
在這裏插入圖片描述
這個時候,系統的Date,DateTime字段會根據當前登錄人,自動轉換當前用戶設置的時區的時間。

處理多時區問題

多時區會導致一個問題,就是在系統集成的時候,外部系統通過soap接口來抓數據的時候,如果集成賬號只有一個,那麼多個不同時區的系統抓的時候就會出現Date,DateTime時間錯誤。

解決辦法:

1,新建一個文本字段,然後在用戶新建或者更新完數據後,把時間存到文本字段中,傳輸的時候就不會出現多時區問題

注意: String.valueOf()會把當前時區的數據實實在在的轉成String
xxxx + ''方式,會先把DateTime類型的字段轉換成GMT+0時區的數據,然後再變成字符串

//轉化DateTime類型到String的時候,請使用 String.valueOf(),
//如果使用training.Start_Time__c + ‘’,結果會令人喫驚
trainingInfo.StartTime__c = String.valueOf(training.Start_Time__c);

//可以嘗試下
trainingInfo.StartTime__c = training.Start_Time__c + ‘’;

2,把系統集成賬號的時區置爲GMT+0,然後各系統再獲得數據的時候,自動根據自己系統所在區域的時區進行時間的增加和減少

如果文章有錯,請及時和我聯繫。一起學習,一起進步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章