2

这里有新的 VB 编码器,试图检查今天的日期是否比抓取的数据库条目的日期晚 10 年以上,如果是,则显示一条消息。

数据库已经在 VB 应用程序中导入并设置好,并且正在工作,我制作了一个报告来显示信息。

我猜我需要使用 Datediff,但我似乎无法让它工作,谢谢。

我将在这里给出我的变量名

Dim Custsince as Date

'From the Database here
CustSince = CustListodr("Custsince")

在此先感谢,处理日期不是我的强项。

4

2 回答 2

2

您可以TimeSpan通过减去日期直接使用 a :

Dim customerLength = DateTime.Now - Custsince
Dim approxYears = customerLength.TotalDays / 365
于 2013-09-30T16:59:53.643 回答
1

如果从数据库中读取的日期已经存储在一个Date变量中,您可以简单地从另一个日期中减去一个日期来获得差异。两个日期相减的结果是一个TimeSpan对象。 TimeSpan对象包含有用的属性,可让您查看不同单位(例如天、小时、分钟)的时间跨度有多长。例如:

Dim date1 As Date = ...
Dim date2 As Date = Date.Now
Dim span As TimeSpan = date2 - date1
If span.TotalDays >= 3650 then  ' Ten years
    '...
End If

或者,如果您需要比较日历年,而不是实际时间跨度,您可以比较每个日期的年份,如下所示:

If date2.Year - date1.Year >= 10 Then
    '...
End If

如果从数据库中读取的日期存储为字符串而不是Date值,则需要使用Date.ParseDate.ParseExact将字符串转换为Date值。

于 2013-09-30T17:03:02.670 回答