如何在vb.net中按年龄过滤

时间:2015-01-30 09:05:44

标签: vb.net filter

我需要添加一个过滤器来按年龄过滤数据。 以下是我用于过滤电话和电话号码的代码。

收集/持有我的客户DOB的费用是" app.DOB"

请帮助我

Friend Overrides Function Filter() As String

            Dim sb As New StringBuilder()

            If (Not app.LandPhone.StartsWith("01")) And (Not app.LandPhone.StartsWith("02")) Then
                sb.Append("Land phone must be present and start 01 or 02;")
            End If

            If (Not app.WorkPhone.StartsWith("01")) And (Not app.WorkPhone.StartsWith("02")) And (Not app.WorkPhone.StartsWith("08")) Then
                sb.Append("Work phone must be present and start 01, 02 or 08;")
            End If

            If app.MobilePhone = String.Empty Then
                sb.Append("Mobile phone must be present;")
            End If


            Return sb.ToString()
        End Function

1 个答案:

答案 0 :(得分:0)

如果DOb是datetime,那么DateDiff函数将是有用的。它将像

if DateDiff(DateInterval.day,app.DOB,Date.Today)/365 > your filter value
''what you want to do
end if

注意: 现在只有我注意到你的评论是string.i这种情况下使用parseexact将它转换为日期,然后再使用dateiff函数

如果您的DOB列的格式是dd / MM / yyyy那么

 Dim dt = DateTime.ParseExact(app.DOB, "dd/MM/yyyy", Nothing)
if DateDiff(DateInterval.day,dt,Date.Today)/365 > your filter value
'' what you want
end if

您可以根据网格格式更改格式: