1

に変換dd/MM/yyyyしたいMM/dd/yyyy

私のコード:

string g = "20-1-1999";
DateTime dt = DateTime.ParseExact(g, "dd/MM/yyyy", CultureInfo.InvariantCulture);

エラーメッセージ:

文字列は有効な DateTime として認識されませんでした。

4

2 に答える 2

3

Mフォーマット文字列で月にシングルを指定する必要があります。フォーマット指定子 MM の詳細については、こちらおよび Mはこちらを参照してください。-また、代わりにセパレーターとして使用する必要があります/

DateTime.ParseExact(g, "dd-M-yyyy", CultureInfo.InvariantCulture);

日が 1 桁になると予想する場合は、日dも 1 桁とします。

DateTime.ParseExact(g, "d-M-yyyy", CultureInfo.InvariantCulture);

「MM」カスタム書式指定子

"MM" カスタム書式指定子は、月を 01 から 12 (13 か月のカレンダーの場合は 1 から 13) の数値で表します。1 桁の月は先頭に 0 を付けてフォーマットされます ( MSDN )

"M" カスタム書式指定子

"M" カスタム書式指定子は、月を 1 から 12 (13 か月のカレンダーの場合は 1 から 13) の数値で表します。1 桁の月は、先頭に 0 を付けずに書式設定されます ( MSDN ) 。

于 2013-10-13T06:18:04.210 に答える
2

あなたのフォーマットはdd-M-yyyy

DateTime dt = DateTime.ParseExact(g, "dd-M-yyyy", CultureInfo.InvariantCulture);

var result = dt.ToString("MM/dd/yyyy");
于 2013-10-13T06:21:37.540 に答える