4

C# では、文字列から日付を解析していますが、エラーが発生します

DateTime.Parse("07/26/2012");

エラー

 System.FormatException: String was not recognized as a valid DateTime.
   at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
   at System.DateTime.Parse(String s)

日付形式に関連していますか?それは私のPC設定に関連していますか?

ありがとう

4

4 に答える 4

9

デフォルトでParseは、現在のカルチャが使用されます。ParseExact日付形式を手動で指定できます。

代わりにこれを試してください:

DateTime date = DateTime.ParseExact("07/26/2012", "MM/dd/yyyy", CultureInfo.InvariantCulture);

このInvariantCultureオプションを使用すると、システムの現在のカルチャ設定を無視できます。

于 2012-07-26T14:00:18.933 に答える
5

これを実行している文化が、この日付形式と互換性がない可能性があります。使用できますInvariantCulture

DateTime.Parse("07/26/2012", CultureInfo.InvariantCulture);

このParseメソッドは現在のスレッド カルチャを使用することに注意してください。

于 2012-07-26T14:00:41.663 に答える
0
 Thread.CurrentThread.CurrentUICulture = new CultureInfo( "en-US", false );

差出人:http ://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.currentculture (v = vs.71).aspx

日付が正しく解析されていることを確認します。

于 2012-07-26T14:03:44.483 に答える
0

ParseExact メソッドを使用します: http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx

string dateString = "Mon 16 Jun 8:30 AM 2008"; // Modified from MSDN
string format = "ddd dd MMM h:mm tt yyyy";

DateTime dateTime = DateTime.ParseExact(dateString, format,
    CultureInfo.InvariantCulture);
于 2012-07-26T13:59:51.430 に答える