簡體   English   中英

如何在C#中根據時區/國家/地區轉換日期?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM