[英]How to convert date according to the timezone/country in C#?
我創建了一個WCF Rest服務,用於通過比較日期來檢查和驗證許可證。 該服務用於Microsoft Dynamics CRM。 CRM用戶可以來自任何國家。
幾天以來,我幾乎沒有遇到任何問題,尤其是在Date的對話和比較中。
服務以“ MM / dd / yyyy時間”格式提供此日期。 即11/4/2027 12:00:00 AM
。 它在字符串中。 我想將其轉換為DateTime格式,使其應根據當前的DateTime格式進行轉換。
//C# Current code
string strValidUpToDate = "11/4/2027 12:00:00 AM";
Date validUpToDate = Convert.ToDateTime(11/4/2027 12:00:00 AM);
如果國家/地區更改,則以上未提供適當的格式。
有人可以指導我嗎?
CRM將日期時間存儲在數據庫表中的UTC中。 CRM用戶可能在不同的國家(時區),但是系統將根據用戶設置進行計算並存儲在偏移量中。 當在平台內檢索到相同的數據時,CRM將對其進行反向工程並根據當前用戶設置顯示。
如果在代碼中查詢相同的數據,它將照原樣進行。 即UTC。 您必須注意代碼中的時區轉換,以獲得所需的結果。
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
DateTime localDatetime = TimeZoneInfo.ConvertTimeFromUtc(yourUTCDateTime, tz);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.