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

时间:2013-05-13 15:53:06

标签: c# exception datetime

我在论坛上搜索过这样的解决方案,但是我找不到与我的特定问题相符的内容。

为了找到问题,可能需要更有经验的眼睛,所以我感谢所有的帮助!

问题:我正在尝试使用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){}

提前致谢,

3 个答案:

答案 0 :(得分:7)

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

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

M - 显示一位数的月份数

     

MMM - 显示三个字母的月份

答案 1 :(得分:2)

您的格式字符串不正确:

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

答案 2 :(得分:1)

你需要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){}