4

我已经在论坛中搜索了这样的解决方案,但是我没有找到与我的特定问题真正匹配的解决方案。

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

问题:我正在尝试将带有日期的字符串解析为 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){}

提前致谢,

疯狂的

4

3 回答 3

7

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

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

M - 显示一位数的月份数

MMM - 显示三个字母的月份

于 2013-05-13T15:56:28.093 回答
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

于 2013-05-13T15:59:35.650 回答
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){}
于 2013-05-13T15:57:22.177 回答