2

我是 C# 新手

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

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

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

我如何使用 asp.net C# 进行转换

4

2 回答 2

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);
于 2013-01-18T04:46:18.923 回答
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;
}

这会帮助你..

于 2013-01-18T05:01:54.463 回答