Member 12300036 Ответов: 2

Как преобразовать строку date в datetime в VB.NET


я получаю дату из базы данных, как
27 Apr 2017 08:42:41:343

когда я конвертирую в datetime это дает ошибку:
String was not recognized as a valid DateTime.

я хочу сравнить дату вот почему я хочу преобразовать строку в datetime
я также использую
Timei = DateTime.ParseExact(TimeIn, "dd Mmm yyyy hh:mm:ss:mmm", System.Globalization.CultureInfo.InvariantCulture)

но это дает ту же ошибку

Что я уже пробовал:

  For Each attendance As EmployeeAttendance In empAttendanceList
                    Dim TimeIn As DateTime
                    Dim TimeOut As DateTime
                  
If attendance.TimeOut <> String.Empty Then
                        TimeIn = Convert.ToDateTime(attendance.TimeIn)
                        TimeOut = Convert.ToDateTime(attendance.TimeOut)

If TimeIn > TimeIn Then
                           attendance.TimeOut = String.Empty
                           attendance.DLatitude = String.Empty
                           attendance.DLongitude = String.Empty
                           attendance.DAddress = String.Empty
                       End If

Richard Deeming

Это часть чрезвычайно длинного списка причин, по которым вы должны никогда храните даты в виде строк! :)

2 Ответов

Рейтинг:
0

Jochen Arndt

Видеть Пользовательские строки формата даты и времени[^].

Спецификатор формата для сокращенных названий месяцев MMM (у вас есть Mmm).
Спецификатор формата для миллисекунд fff (у вас есть mmm).


CPallini

5.

Рейтинг:
0

Ralf Meier

вы должны изменить строку следующим образом :

Timei = DateTime.ParseExact(TimeIn, "dd MMM yyyy hh:mm:ss:fff", System.Globalization.CultureInfo.InvariantCulture)