验证日期的格式是否正确

时间:2014-03-12 03:55:40

标签: vb.net

我有一个文本格式的字段,用于保存发布日期。我必须检查字段中的日期是否为dd/mm/yyyy格式。 如果字段是字符串格式,请建议如何操作。

2 个答案:

答案 0 :(得分:1)

我会使用DateTime.TryParseExact,它不会抛出一个异常但会返回一个代表有效转换的bool。

从上面链接:

  

使用指定的格式,特定于区域性的格式信息和样式,将指定的日期和时间字符串表示形式转换为其DateTime等效形式。字符串表示的格式必须与指定的格式完全匹配。该方法返回一个值,指示转换是否成功。

示例:

Dim yourdate As String = "31/12/1999"
Dim mynewDate As DateTime
Dim culture As New CultureInfo("") 'Uses invariant culture


If Not Date.TryParseExact(yourdate, "dd/MM/yyyy", culture, DateTimeStyles.None, mynewDate) Then
    MsgBox("Oops")
Else
    MsgBox(mynewDate.ToString())
End If

答案 1 :(得分:0)

DateTime.ParseExact

尝试调用该调用,因为如果它不是指定的格式,它将抛出异常。

  format = "d"
  dateString = "Sun 15 Jun 2008 8:30 AM -06" 
  Try
     result = Date.ParseExact(dateString, format, provider)
     Console.WriteLine("{0} converts to {1}.", dateString, result.ToString())
  Catch e As FormatException
     Console.WriteLine("{0} is not in the correct format.", dateString)
  End Try