2
我有一個可跨多個時區工作的Dynamics CRM系統。用戶在當地時區工作,我有一些服務與他們創建的實體進行交互。CRM EarlyBoundEntities日期時間
所有代碼都是通過SDK生成的早期綁定實體類完成的。
例如:
- 用戶通過UI = 2012年11月23日00:00:00 與GMT-4時區相關聯的任務的開始和結束日期創建一個記錄
- 開始日期在DB = 2012年11月24日20通過UI
- 在DB = 2012年11月22日開始日期20點00分00秒
- 結束日期= 2012年11月25日00:00:00
- 結束日期: 00:00
- 服務的過程,記錄和創建任務有開始和結束日期 - 這一次的服務帳戶是在GMT + 1(BST)
- 通過代碼= 2012年11月22日20:00:00開始日期在DB通過UI
- 在DB = 2012年11月22日開始日期19點00分00秒
- 結束日期= 2012年11月24日20時○○分00秒
- 結束日期= 2012年11月24日19 :00:00
- 用戶查看創建的記錄並看到任務的開始和結束da tes早4小時 - 當用戶界面渲染時顯示爲2012/11/22 23:00:00,用戶期待2012/11/23 00:00:00。
我看到問題,當用戶創建一個記錄,由日期不匹配導致問題的服務使用。
所以我想我有一些問題:
- 是由SDK EarlyBoundEntities返回的日期時間本地或UTC(我懷疑UTC)?
- 如果它的UTC應該更新/創建記錄,我的代碼也會在設置它之前將其轉換爲UTC的日期時間(即在設置時,使用datetime.ToLocal()和ToUTC()時)?
- 我的服務器應該根據夏令時進行調整還是應該保持在設定的時間,即UTC?