Вопрос

У меня есть этот пример, и он дает мне исключение «преобразование из строки 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top