Преобразование строки даты в формат даты и времени vb.net - PullRequest
4 голосов
/ 01 декабря 2010

У меня есть этот пример, и он дает мне исключение «Преобразование из строки x в 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.

Ответы [ 3 ]

6 голосов
/ 01 декабря 2010

Взгляните на использование DateTime.TryParseExact Method или DateTime.ParseExact Method

1 голос
/ 01 декабря 2010

Эта реализация проанализирует даты в формате 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
0 голосов
/ 01 декабря 2010

Вы можете попробовать метод 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
...