如何在VB中计算两个日期间的天数
最好写的详细点,我看不懂,比如说,先做个什么控件,什么的.
例如:计算2005-05-01 到 2006-02-03 之间的天数
我需要的是两个准确日期之间的天数,请各位大虾帮忙很着急要呀????????????????????????? 展开
可以参考下面的代码:
Private Sub DTPicker1_Change()
Text1.Text = DateDiff("d", DTPicker1, DTPicker2)
End Sub
Private Sub DTPicker2_Change()
Text1.Text = DateDiff("d", DTPicker1, DTPicker2)
End Sub
扩展资料:
VB参考函数
Date 函数: 返回当前系统日期。
DateAdd 函数: 返回加上了指定的时间间隔的日期。
DateDiff 函数: 返回两个日期之间的间隔。
DatePart 函数: 返回给定日期的指定部分。
DateSerial 函数: 返回指定年月日的日期子类型的变体 。
DateValue 函数: 返回日期子类型的变体 。
Day 函数: 返回日期,取值范围为 1 至 31。
参考资料来源:百度百科-Visual Basic
DateDiff 函数 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
例如:计算2005-05-01 到 2006-02-03 之间的天数
MsgBox "从2005-05-01到2006-02-03还有:" & DateDiff("d", CDate("2005-05-01"), CDate("2006-02-03")) & "天"
'你可以用DateDiff函数,这个函数的作用就是判断2个日期型变量的差,DateDiff后边先跟的一个参数是选择按照什么方式计算差值(我们可以按照年,月,日等)
'只需要在TEXT1中输入例如 2006-7-30 就能判断出2日期的日期之差
Private Sub Command1_Click()
Dim Str As String
Str = Text1.Text
Label1.Caption = DateDiff("d", CDate(Format(Now, "YYYY-MM-DD")), CDate(Format(Str, "yyyy-mm-dd")))
'CDate强制转换。把变量强制转换成日期型变量
'这里边第一“d”就是DateDiff的参数。如果按照年来判断,你把"d"改成"yyyy"就可以
'yyyy 年
'q 季
'm 月
'y 一年的日数
'd 日
'w 一周的日数
'ww 周
'h 时
'n 分钟
's 秒
'如果你输入的不想按照例如(2006-10-15)这样输入,只需要改Format(Str, "YYYY-MM-DD")这个里。把这里的"YYYY-MM-DD"改掉
'(06-10-11,就改成Format(Str, "YY-MM-DD")
End Sub
Dim Str As String
Str = Text1.Text
Label1.Caption = DateDiff("d", CDate(Format(Now, "YYYY-MM-DD")), CDate(Format(Str, "yyyy-mm-dd")))
DateDiff函数的功能很强的!!
注意使用啊!!