「28/08/2012」を「08/28/2012」を意味するMM/dd/YYYY
形式に変換する必要があります。
どうやってやるの?
以下のコードを使用していますが、例外が発生しました。
DateTime.ParseExact("28/08/2012", "ddMMyyyy", CultureInfo.InvariantCulture)
しかし、それは私に例外を投げました
問題:
日付に_/
_区切り文字(_"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オブジェクトを受け取ります。
元の日付は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");