Преобразование строки даты в формат DateTime VB.NET
-
29-09-2019 - |
Вопрос
У меня есть этот пример, и он дает мне исключение «преобразование из строки X в DateTime недопустим»
Вот мой метод для проверки DateTime.
Пример дата строка: "27/03/1985"
Public Function validateDateColumn(ByRef FieldName As String) As Boolean
Try
If IsDate(FieldName) Then
Dim actualDate As DateTime = CDate(FieldName)
Dim DtLicExp As DateTime = CDate(actualDate.ToString("d", Thread.CurrentThread.CurrentCulture))
FieldName = DtLicExp.ToString("MM/dd/yyyy")
Return True
End If
Catch ex As Exception
'FieldName &= "Format must be MM/dd/yyyy"
Return False
End Try
End Function
Любая идея подтвердить форму строки этой даты в DateTime.
Я хочу преобразовать эту дату «27/03/1985» в DateTime.
Я использую asp.net с VB.net.
Решение
Взглянуть на использование DateTime.tryparseexact Метод или DateTime.parseexact Метод
Другие советы
Эта реализация проведет даты формата dd/MM/yyyy
и обновить строку даты до MM/dd/yyyy
как вам нужно. DateTime.TryParseExact
Позволяет указать формат даты, которую вам необходимо проанализировать.
Public Function validateDateColumn(ByRef FieldName As String) As Boolean
validateDateColumn = False
Dim dateValue As DateTime
if DateTime.TryParseExact(FieldName, _
"dd/MM/yyyy", CultureInfo.InvariantCulture, _
DateTimeStyles.None, dateValue) Then
validateDateColumn = True
FieldName = dateValue.ToString("MM/dd/yyyy")
End If
End Function
Вы можете попробовать TryParse
метод.
Dim myDateString as String = "7/7/2010"
Dim myDate as DateTime
Dim isDate As Boolean = DateTime.TryParse(myDateString, myDate)
If isDate Then
' Yay I'm a real date
End If
Не связан с StackOverflow