C# C语言中的时区转换#
我有一个日期格式,类似于: 2009年8月11日星期一13:15:10 GMT 如何将其转换为EST格式C# C语言中的时区转换#,c#,datetime,timezone,C#,Datetime,Timezone,我有一个日期格式,类似于: 2009年8月11日星期一13:15:10 GMT 如何将其转换为EST格式 var datetime = DateTime.Parse("Sat, 21 Aug 2010 13:15:10 GMT"); TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); DateTime estTime = TimeZoneInfo.ConvertTime(date
var datetime = DateTime.Parse("Sat, 21 Aug 2010 13:15:10 GMT");
TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
DateTime estTime = TimeZoneInfo.ConvertTime(datetime, estZone);
EST
可以表示不同的时间,您想要哪个时间:这个或类似的时间应该可以:
var dateString = "Tue, 11 Aug 2009 13:15:10 GMT";
var date = Convert.ToDateTime(dateString);
var result = TimeZoneInfo.ConvertTime(date, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
值得一提的是,您最初指定的2009年8月11日星期一实际上是不正确的,因此我将其更改为2009年8月11日星期二,这样代码将在转换时运行。如果日期与日期不匹配,ToDateTime将引发异常
我还假设您指的是东部标准时间
,它是与“东部时间(美国和加拿大)”关联的id,但您可以通过运行以下代码获得可用时区的完整列表:
foreach(TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones())
{
Console.WriteLine("Id: {0}", info.Id);
Console.WriteLine(" DisplayName: {0}", info.DisplayName);
}