DateTime的问题.ParseExact方法:即使格式正确也会抛出异常

本文关键字:格式 抛出异常 问题 ParseExact 方法 DateTime | 更新日期: 2023-09-27 18:13:33

我在论坛上搜索了这样的解决方案,但是我没有找到一个真正符合我的特定问题的解决方案。

这可能需要一个更有经验的眼睛才能发现问题,所以我感谢所有的帮助!

问题:我试图解析一个日期到DateTime变量的字符串。但是,即使字符串日期格式完全相同,它仍然会抛出异常。

我想知道为什么,以及我如何解决它。我真看不出有什么不对!

try
{
   string value = "Sep-17-2012 03:04:07 am";
   string format = "M-dd-yyyy hh:mm:ss tt";
   DateTime temp = DateTime.ParseExact(value, format, CultureInfo.InvariantCulture);
}
catch(Exception e){}

提前感谢,

疯狂

DateTime的问题.ParseExact方法:即使格式正确也会抛出异常

你的格式应该是MMM而不是M http://www.dotnetperls.com/datetime-format

string format = "MMM-dd-yyyy hh:mm:ss tt";

M -显示一位数的月份数字

MMM -显示三个字母的月份

您的格式字符串不正确:

string value = "Sep-17-2012 03:04:07 am";
string format = "MMM-dd-yyyy hh:mm:ss tt";
DateTime temp = DateTime.ParseExact(value, format, CultureInfo.InvariantCulture);

参考:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

你需要MMM一个月。

try
{
string value = "Sep-17-2012 03:04:07 am";
string format = "MMM-dd-yyyy hh:mm:ss tt";
DateTime temp = DateTime.ParseExact(value, format, CultureInfo.InvariantCulture);
} 
 catch(Exception e){}