2017-11-04 152 views
1

我已經創建了一個WCF Rest服務,用於通過比較日期來檢查和驗證許可證。此服務用於Microsoft Dynamics CRM。 CRM用戶可以來自任何國家。如何轉換日期根據C#中的時區/國家?

自從幾天以來,我幾乎沒有遇到過幾個問題,特別是在Date和它的比較中。

服務以「MM/dd/yyyy時間」格式提供此日期。即11/4/2027 12:00:00 AM。它在字符串中。我想將它轉換爲DateTime格式,以便按照當前日期時間格式進行轉換。

//C# Current code 
string strValidUpToDate = "11/4/2027 12:00:00 AM"; 
Date validUpToDate = Convert.ToDateTime(11/4/2027 12:00:00 AM); 

如果國家改變,上面不提供適當的格式。

任何人都可以請指導我嗎?

回答

0

CRM在數據庫表中以UTC存儲日期時間。 CRM用戶可能在不同的國家(時區),但系統會根據用戶設置的偏移量進行計算。當在平臺內檢索相同的數據時,CRM將根據當前用戶設置對其進行逆向工程展示。

如果在代碼中查詢相同的數據,它將按原樣發送。即UTC。您必須注意代碼中的時區轉換以獲得期望的結果。

TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time"); 
DateTime localDatetime = TimeZoneInfo.ConvertTimeFromUtc(yourUTCDateTime, tz); 
+0

'的TimeZoneInfo TZ = TimeZoneInfo.FindSystemTimeZoneById( 「W歐洲標準時間。」);'我怎樣才能獲得的時區標識符「'W.歐洲標準時間? –

+0

你在哪裏使用這個WCF? –

+0

它在Azure上。讓我知道你是否在問別的問題。 –

相關問題