从字符串中获取日期和时间



我有一个这种格式的字符串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;

时区在此字符串中不重要。而且我不需要将日期从一个时区转换到另一个时区。

对于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。

相关内容

  • 没有找到相关文章