DateTime.ParseExact 格式异常

Max*_*lov 3 .net datetime formatexception

为什么以下代码会生成 FormatException?

DateTime.ParseExact("03/01/2012", "dd/MM/yyyy", null);
Run Code Online (Sandbox Code Playgroud)

日期时间.ParseExact

也许这与代码在 IIS 7.5 Express 下作为 MVC3 站点执行逻辑的一部分运行的事实有关?

dob*_*lak 5

您需要包含 CultureInfo,例如:

DateTime.ParseExact("03/01/2012", "dd/MM/yyyy", new CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)

格式字符串中的斜杠是文化敏感的,如果您不传入 CultureInfo,则使用当前文化。你也可以使用CultureInfo.InvariantCulture它会起作用。Jon Skeet 在这里提供了一些详细的解释。