我的比较与我以前做过的组合框和数据表中的值之间的通常比较略有不同。我比较了字符串。
但在这种情况下,如果组合框中的选定日期是 2018 年 1 月 1 日;我需要检查数据表中的第一个日期(在日期列中(是否是 2018 年 1 月 2 日。如果数据表中的日期不是组合框中所选日期的一天,则应产生错误、弹出错误或类似内容。
验证将在组合框中的内容后 1 天进行。
有没有办法比较某个日期之后的日期? 日期 + 1? 像这样的东西?
您可以将两个日期相互比较(请参阅日期时间。 结果将是一个 TimeSpan 对象,该对象具有Days
属性,您可以检查它是否为 1。
Dim day1 As New Date(2008, 1, 1)
Dim day2 As New Date(2008, 1, 2)
Dim result As TimeSpan = day2 - day1
Console.WriteLine("Number of Days: {0}", result.Days)
您的另一种选择是从组合框中获取日期并向其添加一天,然后检查日期是否相等。 为此,您可以使用 AddDays 方法。
Dim day1 As New Date(2008, 1, 1)
Dim day2 As Date = day1.AddDays(1)
编辑
既然您询问了从字符串解析的问题。 您需要使用日期解析函数(Parse
或TryParse
(。
Dim date1 As Date
If Date.TryParse("2018-05-18", date1) Then
Console.WriteLine("Date is {0}", date1)
Else
Console.WriteLine("Couldn't parse")
End If
所以重写上面的例子,我们会有这样的东西:
Dim day1 As Date
If Date.TryParse(comboBox.Text, day1) Then
Dim dayPlus1 As Date = day1.AddDays(1)
' Compare with your database date here
Else
'Handle the error case here
End If