如何转换日期根据C#中的时区/国家?
问题描述:
我已经创建了一个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);
如果国家改变,上面不提供适当的格式。
任何人都可以请指导我吗?
答
CRM在数据库表中以UTC存储日期时间。 CRM用户可能在不同的国家(时区),但系统会根据用户设置的偏移量进行计算。当在平台内检索相同的数据时,CRM将根据当前用户设置对其进行逆向工程展示。
如果在代码中查询相同的数据,它将按原样发送。即UTC。您必须注意代码中的时区转换以获得期望的结果。
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
DateTime localDatetime = TimeZoneInfo.ConvertTimeFromUtc(yourUTCDateTime, tz);
'的TimeZoneInfo TZ = TimeZoneInfo.FindSystemTimeZoneById( “W欧洲标准时间。”);'我怎样才能获得的时区标识符“'W.欧洲标准时间? –
你在哪里使用这个WCF? –
它在Azure上。让我知道你是否在问别的问题。 –