7,789
社区成员
发帖
与我相关
我的任务
分享
Dim a As Date
a = "2011-3-4 12:12:12"
Debug.Print a
a = a + 3'加了3天
Debug.Print a'打印2011-3-7 12:12:12
Debug.Print Int(a) '打印日期部分2011-3-7
Debug.Print a + "0:0:1" '打印时间+1秒的一个date 2011-3-7 12:12:13
Dim b As Date
b = "2011-3-8"
Debug.Print CDate(b - a) '打印"2011-3-8"和“2011-3-7 12:12:13"的时间差11:47:48,竟然多了1秒,呵呵,如果debug.print "2011-3-8"-a会提示错误
Option Explicit
Private Sub Form_Load()
MsgBox addDate("2011-3-4", 3)
MsgBox addDate("2011-3-5", 3)
MsgBox addDate("2011-3-7", 6)
End Sub
Private Function addDate(d1 As Date, ByVal intAdd As Integer) As Date
Dim intWeek%
Do While intAdd > 0
d1 = DateAdd("d", 1, d1)
intWeek = Weekday(d1, vbMonday)
If intWeek <> 6 And intWeek <> 7 Then intAdd = intAdd - 1
Loop
addDate = d1
End Function