如何在c#中将日期时间转换为特定时区?我需要帮助将DateTime转换为特定时区。我下面的内容无法正常工作。gmTime=03/02/20131:00:00AMTimeZoneInfotimeZone=TimeZoneInfo.FindSystemTimeZoneById("东部标准时间");vartime=timeZoneInfo.ConvertTime(gmTime,timeZone);当我调试时间值时间时,它应该是03/当01/20138:00:00PM应用于该区域时,它返回03/02/20131:00:00AM。如果我做time.ToLocalTime()那么我得到正确的值。但是,我需要将时间转换为不同的时区。DateTime对象有一个“Kind”变量,帮助TimeZoneInfo知道如何处理它。在TimeZone.ConvertTime的MSDN文档中,它具有以下内容:DateTimeKind.Local,将本地时间转换为destinationTimeZone中的时间。DateTimeKind.Utc,将协调世界时(UTC)转换为destinationTimeZone中的时间。DateTimeKind.Unspecified,假设是本地的。例如:Console.WriteLine("本地时区是'{0}'。",TimeZoneInfo.Local.Id);vargmTime=newDateTime(2013,03,02,01,00,00,DateTimeKind.Utc);varlocalTime=newDateTime(2013,03,02,01,00,00,DateTimeKind.Local);varunspecifiedTime=newDateTime(2013,03,02,01,00,00);vartimeZone=TimeZoneInfo.FindSystemTimeZoneById("东部标准时间");vargmTimeConverted=TimeZoneInfo.ConvertTime(gmTime,timeZone);//03/02/20138:00:00AMvarlocalTimeConverted=TimeZoneInfo.ConvertTime(localTime,timeZone);//03/02/2013varunspecifiedTimeConverted=TimeZoneInfo.ConvertTime(unspecifiedTime,timeZone);Console.WriteLine("将GMT转换为EST:{0}",gmTimeConverted);Console.WriteLine("正在将本地转换为EST:{0}",localTimeConverted);Console.WriteLine("将未指定的转换为EST:{0}",unspecifiedTimeConverted);结果是:当地区时间是“太平洋标准时间”。将GMT转换为EST:3/1/20138:00:00PM将本地转换为EST:3/2/20134:00:00AM将未指定转换为EST:3/2/20134:00:00AM或者,如果您的本地时区是“东部标准时间”,如果您的本地时区是“东部标准时间”,您将获得这些结果。将GMT转换为EST:3/1/20138:00:00PM将本地转换为EST:2013年3月2日1:00:00AM转换未指定为EST:3/2/20131:00:00AM如果您希望TimeZoneInfo像Utc一样处理“未指定”,那么你应该像TimeZoneInfo.ConvertTimeFromUtc一样运行。同样来自MSDN文档DateTimeKind.Local,ArgumentException被抛出。DateTimeKind.Unspecified或DateTimeKind.Utc,从协调世界时(UTC)转换而来。试试下面的Chace之类的东西上面是C#学习教程:Howtoconvertdatetimetospecifictimezoneinc#?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——TimeZoneInfoestTimeZone=TimeZoneInfo.FindSystemTimeZoneById("东部标准时间");日期时间estDateTime=TimeZoneInfo.ConvertTimeFromUtc(timeUtc,estTimeZone);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
