在C#中解析确切日期不应该强制您创建IFormatProvider

Ala*_*anR 5 .net c# globalization datetime parsing

如果我错了,请有人纠正我,但在C#中解析yyyy/MM/dd(或其他特定格式)日期应该

DateTime.ParseExact(theDate, "yyyy/MM/dd");
Run Code Online (Sandbox Code Playgroud)

但不,C#强制您创建IFormatProvider.

是否有app.config友好的设置方式,所以我不需要每次都这样做?

DateTime.ParseExact(theDate, "yyyy/MM/dd", new CultureInfo("en-CA", true));
Run Code Online (Sandbox Code Playgroud)

小智 14

IFormatProvider参数可以为null.


小智 6

ParseExact需要一种文化:考虑"yyyy MMM dd".MMM将是使用当前文化的本地化月份名称.


Dav*_*kol 5

使用当前的应用程序文化:

DateTime.ParseExact("2008/12/05", "yyyy/MM/dd", System.Globalization.CultureInfo.CurrentCulture);
Run Code Online (Sandbox Code Playgroud)

您可以使用Globalization标记在app.config中设置应用程序区域性.我认为.