Преобразование и сравнение времени
У меня есть следующий пример:
01 авг 2016 @ 14: 16 в виде текстовой строки в текстовом поле. Он не форматируется как поле datetime, а просто как текстовая строка. Это связано с тем, как пользователи вводят данные в PDF-файл (как показано выше), который импортируется в виде текстовой строки...
Первое, что я пытаюсь сделать, это убрать дату и иметь только время (14:16) и назвать это "result1". Я считаю, что победил это (см. код ниже).
Затем я хочу взять этот результат (14: 16) и сравнить его с фактическим форматированным полем datetime, которое содержит только время без даты, например 14:00, и назову его "result3". Я ищу, чтобы увидеть, если "result3" больше (или после) "result1".
Моя главная проблема заключается в том, чтобы правильно получить поле time only (result3), чтобы показать только время. Она возвращается следующем при запуске отладки через:
System.Windows.Forms.TextBox, Text: 14:00и мне нужно, чтобы он возвращался только "14: 00" без "системы".Окна.Формы.Текстовое Поле, Текст:".
Я подозреваю, что один из двух результатов отформатирован неправильно, но не уверен, какой именно. Должен ли я преобразовать result1 в строку datetime после извлечения нужной мне части или я должен преобразовать result3 в текстовую строку? Я думаю, что и то, и другое должно быть datetime, так как я ищу, чтобы увидеть, является ли result3 после result1.
Я уверен, что это проблема форматирования, но не уверен, как правильно прочитать поле datetime (result3) и/или преобразовать текстовое поле (result1) в результат datetime (только время) для сравнения.
Блин, надеюсь, в этом есть смысл...
последняя просьба: Правильно ли я провожу сравнение случаев?
Что я уже пробовал:
Private Sub tb01Time_TextChanged(sender As Object, e As EventArgs) Handles tb01Time.TextChanged Dim result1 As String = tb01Time.ToString Dim result2 As String = LoadRight(result1, 5) Dim result3 As String = tbShipArriveTime.ToString Dim late As String If result3 > result2 Then late = "True" Else late = "False" End If Select Case tbShipArriveTime.ToString Case = "True" : tb01Time.BackColor = Color.Red tb01Time.ForeColor = Color.White Case Else : tb01Time.BackColor = Color.White tb01Time.ForeColor = Color.Black End Select End Sub