我采用这种格式的字符串Wed Sep 23 2015 15:30:00 GMT-0400 (Eastern Daylight Time)
。我怎样才能获得2015年9月23日和15.30的日期。我试过跟随,但它抛出了无效的格式异常。
DateTime dt= DateTime.Parse(apptViewModel.strAppintmentDate).Date;
TimeSpan tm = DateTime.Parse(apptViewModel.strAppintmentTime).TimeOfDay;
时区在此字符串中并不重要。而且我不必将日期从一个时区转换为另一个时区。
答案 0 :(得分:0)
Wed Sep 23 2015 15:30:00 GMT
试试这个
DateTime dt = DateTime.ParseExact("Wed Sep 23 2015 15:30:00 GMT", "ddd MMM dd yyyy HH:mm:ss 'GMT'K", CultureInfo.InvariantCulture);
Wed Sep 23 2015 15:30:00 GMT-0400
试试这个
DateTime dt = DateTime.ParseExact("Wed Sep 23 2015 15:30:00 GMT-0400", "ddd MMM dd yyyy HH:mm:ss 'GMT'zzz", CultureInfo.InvariantCulture);
如果日期字符串中包含(Eastern Daylight Time)
,请尝试此
var dateString = "Wed Sep 23 2015 15:30:00 GMT-0400 (Eastern Daylight Time)";
DateTime dt = DateTime.ParseExact(dateString.Replace("(Eastern Daylight Time)", string.Empty).Trim(), "ddd MMM dd yyyy HH:mm:ss 'GMT'zzz", CultureInfo.InvariantCulture);
但你也可以使用NodaTime 请参阅Jon Skeet的回答reduce-reducers。