この行は文字列10/13/2016 21:42
を取得し、提供された形式を使用して解析します。これは、日付文字列が and のようなあいまいな形式である場合に役立ちますが、06/05/2016
これは June 5 thまたは May 6 thのいずれかを表すことができますが、私の例では日/月、5 月 6 日であることがわかっています。詳細については、DateTime.ParseExactを参照してください。
Dim ETAtime As DateTime = DateTime.ParseExact(ETAtime1, "MM/dd/yyyy HH:mm", Nothing)
このメソッドの結果は、文字列ではなくDateTimeです。
'result is 10/13/2016 09:42
AM/PM
したがって、結果は有効ですが、検査方法によって異なりますが、インジケーターはありません。それはすでにDateTimeです。ETAtime をさらに操作すると、これを証明できます。
Dim ETAtime1 As String = Convert.ToDateTime("10/13/2016 21:42").ToString("MM/dd/yyyy HH:mm")
Dim ETAtime As DateTime = DateTime.ParseExact(ETAtime1, "MM/dd/yyyy HH:mm", Nothing)
Console.WriteLine("{0:MM/dd/yyyy HH:mm}", ETAtime)
Console.WriteLine("{0:MM/dd/yyyy hh:mm}", ETAtime)
Console.WriteLine("{0:MM/dd/yyyy hh:mm tt}", ETAtime)
出力
2016/10/13 21:42
2016/10/13 09:42 2016/10/13
09:42 午後
コードに問題はありません。
私のIDE(Visual Studio 2012)は、デバッグ時にこの形式で日付を表示します10/13/2016 09:42 PM
. 私はアメリカにいます。表示される内容は、地域の設定に基づいている必要があります。あなたのスクリーンショットを見るのは興味深いでしょう。
