2013-01-18 134 views
2

我是C#的新手转换EST时间到当地时间

我正在使用YQL获取XML格式的数据。

我收到这样的下午10点47分时间EST

我想将它转化成我的时区,假设转换为CST(中国标准时间)或MYT(马来西亚标准时间)

如何做我转换为使用asp.net C#

+1

http://stackoverflow.com/questions/6682290/c-sharp-datetimes-conversion-for-different-time-zones –

回答

2

你可以尝试TimeZoneInfo.ConvertTime方法:

DateTime estTime = new DateTime(); //for example: 10:47PM EST 

TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 

TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("China Standard Time"); 

DateTime yourLocalTime = TimeZoneInfo.ConvertTime(estTime, estZone, cstZone); 
0

可以CONV在所需区域中停留时间。 试试这个

string ClientTime = ConvertDatebyUserTimezone(UserTimeZone, dateToConvert).ToString(); 

public DateTime ConvertDatebyUserTimezone(string UserTimezone, DateTime SrcDate) 
{ 
    DateTime Returndate = SrcDate;     
    TimeZoneInfo Serverzone = null; 
    System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones(); 
    foreach (TimeZoneInfo timeZoneInfo in timeZones) 
    { 
     if (timeZoneInfo.ToString().Contains(ToConvertTimezone)) 
     { 
      Serverzone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneInfo.Id); 
      break; 
     } 
    } 
    if (UserTimezone != "") 
    { 
     foreach (TimeZoneInfo timeZoneInfo in timeZones) 
     { 
      if (timeZoneInfo.ToString().Contains(UserTimezone)) 
      { 
       TimeZoneInfo timez = TimeZoneInfo.FindSystemTimeZoneById(timeZoneInfo.Id); 
       Returndate = TimeZoneInfo.ConvertTime(SrcDate, ToConvertTimezone, timez); 
       break; 
      } 
     } 
    } 
    return Returndate; 
} 

这将帮助你..