日期:2014-05-17 浏览次数:20948 次
Function getStartDay(y,m,s) '传递三个参数,年、月和第几个星期数 '本函数以第一个星期一为第一周 'y 的范围为大于1900的四位整数 'm 的范围为1至12的整数 's 的取值范围为自然数 '当取值失败,返回当前日期 Dim tmpDate,firstday If y < 1900 Or m < 1 Or m > 12 Or s < 1 Or y <> Int(y) Or m <> Int(m) Or s <> Int(s) Then getStartDay = Date() End If tmpDate = CDate(y & "-" & m & "-1") firstday = Weekday(tmpDate) If firstday > 2 Then firstday = tmpDate + 9 - firstday ElseIf firstday = 1 Then firstday = tmpDate + 1 Else firstday = tmpDate End If getStartDay = firstday + (s - 1) * 7 End Function