私は何を探しているのかわかりません...なぜ、これは "文字列が有効なDateTimeとして認識されませんでした"という例外を生成しますか?このDateTime.Parseがエラーを生成する理由は何ですか?
string dt = "7/28/2018 2:48:32 PM";
try
{
DateTime Test = DateTime.Parse(dt);
}
catch { }
私がコメントして上記のテストに置き換える前に、コードを何度かステップしました。私がdtに割り当てる値は、実際に私のプログラムで割り当てられる値です。私はもともとのようなものを使用していた:
if (DateTime.TryParse(dt, out DateTime Timestamp))
{ ... }
私はVisual Studio 2017と.Net 4.6.2を使用しています。
これは、「CurrentCulture」設定の標準日時フォーマットではないことを意味します。 'M/dd/yyyy h:mm:ss tt'フォーマットと' InvariantCulture'のような_proper_ cultureを使う代わりに、 'ParseExact'や' TryParseExact'メソッドを試してみてください。 –
以下のコメントを参照してください。私の現在の文化は正しく設定されています。私は現在の文化を使いたいと思っていました。日時は現在の文化形式になります。 Visual Studioの再インストールが完了しましたが、今度は正しくコンパイルされ、期待される出力が生成されます。 –