我有一个文本格式的字段,用于保存发布日期。我必须检查字段中的日期是否为dd/mm/yyyy
格式。
如果字段是字符串格式,请建议如何操作。
答案 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)
尝试调用该调用,因为如果它不是指定的格式,它将抛出异常。
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