9/29/2013 2:44:28 PM (mm/dd/yyyy) を dd/mm/yyyy 形式に変換してみました。
変換後に奇妙な日付が表示されました。
私は試した
dateTimeVar.ToString("dd/mm/yyyy");
29/44/2013
Date はDateTime
それ自体の型でした。
小文字mm
は分を意味します。代わりにこれを試してください:
dateTimeVar.ToString("dd/MM/yyyy");
ただし、これが機能するかどうかは、地域の文化によって異なります。現在のカルチャの日付区切り記号が異なる場合は、/
それに置き換えられます。したがって、それを強制したい場合は、CultureInfo.InvariantCulture:
dateTimeVar.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
MM
は月単位、mm
は分単位です。そのため44
、月の値ではなく分 (分) を取得します。
次のように使用します。
dateTimeVar.ToString("dd/MM/yyyy");
チェックアウト;
/
また、日付の区切り記号として使用すると、特別な意味があることを忘れないでください。現在のカルチャの日付区切り記号に置き換えられます。with を使用することを強制するInvariantCulture
方が良いでしょう。
dateTimeVar.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
を見てみましょう;
dd/MM/yyyy の文字列を DateTime に変換したい場合はどうすればよいですか?
その後、メソッドを使用できますDateTime.ParseExact
。
指定された形式とカルチャ固有の形式情報を使用して、指定された日付と時刻の文字列表現を、対応する DateTime に変換します。文字列表現の形式は、指定された形式と正確に一致する必要があります。
例として;
string s = "01/01/2013";
DateTime dt = DateTime.ParseExact(s, "dd/MM/yyyy", CultureInfo.InvariantCulture);
Console.WriteLine(dt);
出力は次のようになります。
1/1/2013 12:00:00 AM
ここにDEMO.
dateTimeVar.ToString("dd/mm/yyyy"); // Change to dd/MM/yyyy
問題はmm
分の略であり、月になる必要がありMM
ます