进来的字符串,我不确定我是否可以控制它是这样的形状:
Mon Aug 11 2016 12:17:19 GMT-0500 (Central Daylight Time)
我尝试过诸如
之类的方法Convert.ToDateTime()
和
CType
但是所有人都抛出异常,说这不是转换为日期时间的有效字符串。 那我应该怎么转换呢?
答案 0 :(得分:1)
我建议阅读Custom Date and Time Format Strings。
在这种情况下,相应的格式字符串将是:
string sample = "Mon Aug 11 2016 12:17:19 GMT-0500";
var dt = DateTime.ParseExact(sample.Replace("GMT-0500", "-05:00"),
"ddd MMM dd yyyy H:mm:ss",
CultureInfo.InvariantCulture);
答案 1 :(得分:0)
您可以按空格分割字符串。然后你将拥有一个数组,你可以创建一个合适的字符串来转换为日期时间。
这只是一个概念,你必须详细说明。
例如,您可能需要了解月份编号是什么 这可以通过制作所有月份和相应数字的字典来完成。
string dateReceived = "Mon Aug 11 2016 12:17:19 GMT-0500 (Central Daylight Time)"
string[] dateParts = dateReceived.split(' ');
string date = dateParts[2] "/" dateParts[1] "/" dateParts[3]
DateTime dt = Convert.ToDateTime(date);