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