将EST时间转换为当地时间

时间:2013-01-18 04:11:05

标签: c# asp.net time timezone

我是C#

的新手

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

我在美国东部时间晚上10:47收到一段时间

我想将其转换为我的时区,让我们说转换为CST(中国标准时间)或MYT(马来西亚标准时间)

如何使用asp.net C#转换

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

您可以转换所需区域的时间。 试试这个

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;
}

这会对你有帮助..