0

私は変換しようとしています

string date = "31.03.2013" 

DateTime。これが私のコードです:

Convert.ToDateTime(date,CultureInfo.InvariantCulture);

フォーマット例外が発生します。

http://msdn.microsoft.com/en-us/library/vstudio/cc165448.aspxによると、動作するはずです。ありがとう

4

5 に答える 5

5

不変カルチャはに基づいています。en-USここで.、は日付区切り文字ではありません。

日付区切り文字としてfr-FR使用する、などの正しいカルチャを使用する必要があります。.

DateTime.ParseExactまたはDateTime.TryParseExact、正確なフォーマット文字列を使用することもできます。

Convert.ToDateTime("31.03.2013", CultureInfo.GetCultureInfo("fr-FR"))

または

DateTime.ParseExact("31.03.2013",
                    "dd.MM.yyyy",
                    CultureInfo.InvariantCulture)

動作します。

于 2013-03-25T11:02:51.450 に答える
0

どうですか

DateTime.ParseExact(date,"dd.MM.yyyy",null);
于 2013-03-25T11:05:12.860 に答える
0

DateTime.ParseExactメソッドを使用してみることができます。それはあなたのためにトリックをするはずです。

DateTime.ParseExact("31.03.2013", "dd.MM.yyyy", CultureInfo.InvariantCulture);
于 2013-03-25T11:05:25.210 に答える
0

このコードを使用してください-

DateTime.ParseExact(date, "dd.MM.yyyy", CultureInfo.InvariantCulture);
于 2013-03-25T11:07:00.703 に答える
0

DateTime.TryParseExactでこれを試すことができます:

string date = "31.03.2013";
DateTime dateConverted;
DateTime.TryParseExact(date, new string[] { "dd.MM.yyyy" }, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out dateConverted);
Console.WriteLine(dateConverted);
于 2013-03-25T11:11:17.207 に答える