11

MM/dd/YYYY「28/08/2012」を「08/28/2012」を意味する形式に変換する必要があります。
どうやってやるの?

以下のコードを使用していますが、例外がスローされました。

DateTime.ParseExact("28/08/2012", "ddMMyyyy",  CultureInfo.InvariantCulture)
4

2 に答える 2

25

しかし、それは私に例外を投げました

問題:

/日付に区切り文字 ( )が含まれ"28/08/2012"ており、日付文字列形式 ( "ddMMyyyy") でそれを指定していません。

解決:

である必要があります"dd/MM/yyyy"

こちらです

DateTime.ParseExact("28/08/2012", "dd/MM/yyyy", CultureInfo.InvariantCulture)
                        .ToString("MM/dd/yyyy", CultureInfo.InvariantCulture);

それを行った後.ToString()、必要な日付形式"MM/dd/yyyy"とオプションのカルチャ情報を使用して文字列に転送される、入力された日付を含む DateTime オブジェクトを受け取りますCultureInfo.InvariantCulture

于 2012-09-08T05:50:02.920 に答える
1

元の日付はen-GB文化にあるため、オブジェクトを作成して自然にCultureInfo解析できます。DateTime

string date = "28/08/2012";
System.Globalization.CultureInfo ci = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
Convert.ToDateTime(date,ci.DateTimeFormat).ToString("d");//short date pattern

(また)

DateTime.Parse(date,ci.DateTimeFormat).ToString("d");
于 2012-09-08T06:40:47.557 に答える