【发布时间】:2013-01-01 18:27:17
【问题描述】:
我是 C# 新手
我正在使用 YQL 获取 XML 格式的数据。
我在美国东部标准时间晚上 10:47 收到一个时间
我想将其转换为我的时区,比如说转换为 CST(中国标准时间)或 MYT(马来西亚标准时间)
如何使用 asp.net C# 进行转换
【问题讨论】:
我是 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;
}
这会对你有所帮助..
【讨论】: