如何在C#中将Feb 19, 2015,22:19:50
转换为2/19/2015 22:19:50
?
我尝试了类似下面的内容
DateTime dateTime = DateTime.ParseExact("Feb 19, 2015,22:19:50",
"MMM dd, yyyy;HH:mm:ss",
CultureInfo.InvariantCulture);
但我收到了以下错误
类型' System.FormatException'的第一次机会异常发生在mscorlib.dll中附加信息:字符串未被识别为有效的DateTime。"
答案 0 :(得分:6)
首先,您的字符串和格式与完全匹配。在你的字符串中,你的年份和小时之间有一个逗号,但是你的格式是分号。当您使用DateTime.ParseExact
或DateTime.TryParseExact
方法进行自定义解析时,您的字符串和格式必须完全基于您使用的IFormatProvider
。
正确解析字符串后,您可以使用.ToString()
方法格式化M/dd/yyyy HH:mm:ss
格式,并将/
作为DateSeparator
和{{1}的文化格式化} :
,如TimeSeparator
。
InvariantCulture
这里有 demonstration 。