2016-03-23 6 views
-4

私はstringを持っており、それをDateTimeに変換しようとするとエラーが発生します。どうして?文字列が指定されたクエリの日付時刻に変換できません

string str = "3‎/‎23‎/‎2016‎ ‎5‎:‎10‎:‎32‎ ‎PM"; 
datetime= convert.ToDateTime(str); 
+5

使用 'DateTime.Parse' – BWA

+0

にそれを確認してくださいどちらか(あなたは私たちを表示したくないということ?)あなたの月の前に先頭の「0」を追加したり、エラーメッセージを読んで、DateTime.Parse –

+1

まあを使用するあなたを与えるだろうヒント。おそらく、解析に使用するカルチャを定義する必要があります。 –

答えて

3

Convert.ToDateTime現在のカルチャで許可されている場合は正常に動作するはずです。

しかし、あなたの文字列にはいくつかの奇妙な文字があります。コピーして貼り付けても機能しませんでしたが、直接書きました。

はフィドルでそれを確認してください:https://dotnetfiddle.net/l5nzso

をあなたの文字列の文字間散在一部left-to-right mark (0x200E) Unicode文字を持っているようです。 in this other fiddle

+0

私はちょうど同じことに気づいた。長さは20の代わりに32と表示されます。 – juharr

+1

[左から右のマーク(0x200E)](http://www.fileformat.info/info/unicode/char/200e/index.htm)ユニコード文字列に散らばった文字、かなり奇妙な – Jcl

+1

左から右のマーク文字は、この作業を行うために置き換えられます 'str = str.Replace(新しい文字列((char)8206、1)、string.Empty); ' – juharr

関連する問題