Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 日期比较_Vb.net - Fatal编程技术网

Vb.net 日期比较

Vb.net 日期比较,vb.net,Vb.net,以下是我节目的部分内容 Table:SGinfo -Birthdate -Age VB.net form Label6.text Respectively "Update Age of all Guards in the list" 我的问题在我的数据库中,表中有一条记录包含此--->“7/25/2013” 如何通过仅比较系统月份和日期中数据库中记录的月份和日期来更新人员年龄 范例 "7/15" Compare to database record like this "7/25/2013"

以下是我节目的部分内容

Table:SGinfo
-Birthdate
-Age
VB.net form
Label6.text Respectively "Update Age of all Guards in the list"
我的问题在我的数据库中,表中有一条记录包含此--->“7/25/2013” 如何通过仅比较系统月份和日期中数据库中记录的月份和日期来更新人员年龄

范例

"7/15" Compare to database record like this "7/25/2013"
我不知道如何编码这个


所以请给出一个简单的代码

您可以将数据库中的日期作为变量

Dim dBirth as DateTime = MyTable.Item("BirthDate") '---> get from table

If dBirth.Month = Now().Month AND dBirth.Day = Now().Day Then 

  'some code ...   

End If

根据您在注释中的解释,您应该从数据库中读取值,然后以斜杠“/”字符分割,以获得日期和月份部分的数据块。然后,您可以使用
int.Parse()
将这些块转换为数值,并将它们与
DateTime.Now.Month
DateTime.Now.Day
部分进行比较


另一种方法是使用类似于
DateTime.Now.ToString(“MM/dd”)
的内容,并直接将其与您读取的DB值进行比较。

如果它们是同一年,请尝试,或者根据您的喜好更改
date1.year

    Dim date1, date2 As Date
    Dim lDate1 As String
    date1 = Date.Parse("7/25/2013")
    lDate1 = "7/15" + "/"   + date1.Year
    date2 = DateTime.ParseExact(lDate1 , "dd/MM/yyyy", Null)

     if (DateTime.Compare(date1, date2) > 0) 
      // which means ("date1 > date2")
     if (DateTime.Compare(date1, date2) == 0) 
     //which means ("date1 == date2");
     if (DateTime.Compare(date1, date2) < 0) 
     //which means ("date1 < date2")

请进一步解释。你想知道这两个日期之间的距离吗?如果是7/15,年份部分的价值是多少?你是指日期吗?我在这里使用的是Access,它的字段类型是文本,它可以按“MM/DD/YYYY”格式的日期字段。例如,我将保存一个日期“2013年7月25日”。程序将剪切该日期格式,直到“MM/DD”保持为“7/25”格式,然后我将以“MM/DD”格式与我电脑中的日期进行比较然后,如果该语句为真,那么执行命令如何将其嵌入sql命令?先生,还有一个问题,我如何在数据库中增加年龄?假设我19岁,并且我保存了我的信息。姓名:Paul生日:2013年7月25日这是模拟“如果CP日期:7/25”=数据库Bdate:“7/25”,然后更新年龄+1”,这样我将成为20岁。哦,顺便说一句,祝我B日快乐:DMy的建议是避免出现
Age
一栏。您已经在存储DOB,因此计算年龄应该很简单。这也将使你摆脱所有更新的东西,你将要做的在这种情况下。始终在运行时通过应用程序级数据表中的计算列、查询或表达式列计算年龄。先生,您能在Mytable中添加声明吗?我不知道如何声明it@CrixalisPaul .. 谷歌会帮你的。。关键词:datatable、oledbadapter等..如何在数据库中使用
Dim tSpan As TimeSpan
tSpan = date2 - date1