0

次のようなエラーが発生します:

タイプ 'System.FormatException' の未処理の例外が mscorlib.dll で発生しました 追加情報: 文字列は有効な DateTime として認識されませんでした。

私はこのコードを使用しています:

string datetime = DateTime.Parse(encrypt[1]);

また

string datetime = Convert.ToDatetime(encrypt[1]);

暗号化は文字列配列です

encrypt[1]私はですnot sure which format will come in string。私はいつか来るdd/MM/yyyyといつかMM/dd/yyyyまたは MM-dd-yyyyまたはdd-MM-yyyy. 上記の形式か、別の形式が来るかどうかはわかりません。

また、使用ParseExceptしてTryParseExceptください。しかし、成功しないと同じエラーが返されるようです

適切な解決策を教えてください。

4

3 に答える 3

6

AndreyAkinshin はすでに本当の問題を説明しました。彼が私にさせてくれたら、これを答えとして追加したい..

DateTime.ParseおよびConvert.ToDatetimeメソッドは両方とも、CurrentCultureデフォルトで設定を使用します。

また、または形式のいずれかのみCurrentCultureを使用できます。のような文字列を取得するときに使用する形式を認識できないため、標準の日付と時刻の形式として両方の形式を使用することはできません。dd/MM/yyyyMM/dd/yyyy01/01/2014

どの DateTime メソッドも問題を解決できません。形式を としてDateTime.TryParseExact受け取るオーバーロードを使用した場合でもstring[]、配列内で一致する最初の成功した形式で文字列を解析します。

tl;dr

データの形式を知る必要があります。

于 2014-11-21T13:04:48.973 に答える