我正在尝试解析包含一些时区信息的日期时间字符串(东部时区2014年5月1日9:45pm):
DateTime RecordedDateTime;
string fixedRecordedDateTime = "Thu May 01 21:45:00 +0500 2014";
string[] dateFormats = { "ddd MMM dd HH:mm:ss zzz yyyy" , "ddd MMM dd HH:mm:ss K yyyy" };
DateTime.TryParseExact(fixedRecordedDateTime, dateFormats, CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out RecordedDateTime);
DateTime对象得到5/1/2014 12:45 PM当地时间(我在东部时间)
如果我使用(May 1st 2014 9:45pm in PST时区):
string fixedRecordedDateTime = "Thu May 01 21:45:00 +0800 2014";
DateTime对象得到5/1/2014 09:45 AM本地时间
我不明白出了什么问题,为什么我不能在给出时区信息后纠正当地时间
我试图使用DateTime而不是DateTimeOffset,无论如何要正确解析这个?
string fixedRecordedDateTime = "Thu May 01 21:45:00 +0500 2014";
现在是UTC+0500的21:45。这将是UTC的16:45,或EDT (UTC-0400)的12:45。我想你把+和-弄反了