web-dev-qa-db-ja.com

dd / MM / yyyyをMM / dd / YYYYに変換します

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

以下のコードを使用していますが、例外が発生しました。

DateTime.ParseExact("28/08/2012", "ddMMyyyy",  CultureInfo.InvariantCulture)
9
Lajja Thaker

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

問題:

日付に_/_区切り文字(_"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"_とオプションのカルチャ情報_CultureInfo.InvariantCulture_を使用して文字列に転送される、入力された日付を含むDateTimeオブジェクトを受け取ります。

24
Nikhil Agrawal

元の日付は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");
1
Antony Thomas