如何在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);
但我得到以下错误
mscorlib.dll中发生了'System.FormatException'类型的第一次机会异常。附加信息:字符串未被识别为有效的DateTime。”
最佳答案
首先,您的字符串和格式不完全匹配。在字符串中,年份和小时之间用逗号分隔,但在格式上则用分号分隔。使用DateTime.ParseExact
或DateTime.TryParseExact
方法进行自定义分析时,您的字符串和格式必须完全基于所使用的IFormatProvider
进行匹配。
正确解析字符串后,可以使用.ToString()
方法和M/dd/yyyy HH:mm:ss
格式以及使用/
作为DateSeparator
和:
作为TimeSeparator
作为InvariantCulture
的区域性对其进行格式化。
string s = "Feb 19, 2015,22:19:50";
DateTime dt;
if(DateTime.TryParseExact(s, "MMM dd, yyyy,HH:mm:ss", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt.ToString("M/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture));
// 2/19/2015 22:19:50
}
这里是demonstration。
关于c# - 如何在C#中将2015年2月19日,22:19:50转换为2015年2月19日22:19:50?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28600297/