我有一个日期格式,类似于:
周一,2009年8月11日13:15:10 GMT
如何将其转换为EST格式?
答案 0 :(得分:4)
这或类似应该做的伎俩:
var dateString = "Tue, 11 Aug 2009 13:15:10 GMT";
var date = Convert.ToDateTime(dateString);
var result = TimeZoneInfo.ConvertTime(date, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
值得一提的是,您最初指定的 Mon,2009年8月11日实际上是不正确的,因此我已将其更改为星期二,2009年8月11日所以代码将运行,因为Convert.ToDateTime
如果日期与日期不匹配则抛出异常。
我还假设您的意思是Eastern Standard Time
,这是与“东部时间(美国和加拿大)”相关联的ID,但您可以通过运行以下内容获得可用时区的完整列表代码:
foreach(TimeZoneInfo info in TimeZoneInfo.GetSystemTimeZones())
{
Console.WriteLine("Id: {0}", info.Id);
Console.WriteLine(" DisplayName: {0}", info.DisplayName);
}
答案 1 :(得分:1)
var datetime = DateTime.Parse("Sat, 21 Aug 2010 13:15:10 GMT");
TimeZoneInfo estZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
DateTime estTime = TimeZoneInfo.ConvertTime(datetime, estZone);
EST
可能意味着不同的时间,您想要的是:http://en.wikipedia.org/wiki/EST