我是 C# 新手
我正在使用 YQL 获取 XML 格式的数据。
我在美国东部标准时间晚上 10:47 收到一个时间
我想将其转换为我的时区,比如说转换为 CST(中国标准时间)或 MYT(马来西亚标准时间)
我如何使用 asp.net C# 进行转换
您可以尝试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);
您可以转换所需区域的时间。试试这个
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;
}
这会帮助你..