复制代码 代码如下:
<%
‘转发时请保留此声明信息,这段声明不并会影响你的速度!
‘**************************   【日期扩展类】Ver 0.1.1********************************
‘开发人:        Sman、Net Fetch
‘开发日期:        2005-11-11
‘版本号:        Ver 0.1.1

‘官方网站:http://www.sman.cn     http://www.ad0.cn
‘电子邮件:huihui3030@126.com    NetFetchStudio@163.com  
‘每日在线QQ:19341293             32050450
‘版权声明:版权没有,盗版不究,源码公开,欢迎盗版,欢迎你到官方网站来寻求支持。
‘如有任何改进之处,麻烦转发或者反馈一份到 huihui3030@126.com、NetFetchStudio@163.com,Thanks!
‘详细使用说明或范例请见下载附件或到官方站点或Email联系下载!
‘************************************************************************************

Class DateFunEx

    Private d_
    Private firstweekofyear_
    Private firstdayofweek_

    Private Sub class_initialize()
        d_                     = date() ‘默认当前日期
        firstdayofweek_     = 2    ‘vbMonday
        firstweekofyear_     = 1    ‘由 1 月 1 日所在的星期开始。
    End Sub

    ‘属性 setDate 日期
    Public Property Let setDate(value) 
        On Error Resume Next
        If IsNumeric(value) Then
            value = Cint(value)
            If len(value)< 3 Then value = "20" & right("0"&value,2)
            value = value & “-1” 
        End If 
        d_ = cDate(value)
    End Property

    ‘属性 firstweekofyear 每年的第一周(详细设置请参照VBS手册)
    Public Property Let firstweekofyear(value)
        firstweekofyear_ = cInt(value)
    End Property

    ‘属性 FirstDayofWeek 每周的第一天(详细设置请参照VBS手册)
    Public Property Let firstdayofweek(value)
        firstdayofweek_ = cInt(value)
    End Property


    ‘——————————
    ‘ 功能说明:算第几周的星期几是几号
    ‘ 参数说明:y 年,w周,week 星期 (星期一1 星期天7)
    ‘——————————
    Public Function GetWeekDate(y, w, DayofWeek)
        Dim NewYearDay
        NewYearDay = CDate(y & “-1-1”) ‘元旦
        GetWeekDate = ((NewYearDay – Weekday(NewYearDay, firstdayofweek_)) + (w – 1) * 7 + DayofWeek)
    End Function

    ‘——————————
    ‘ 功能说明:获得某年某月的天数
    ‘——————————
    Public Function GetMonthDayCount()
        GetMonthDayCount = DateDiff(“d”, d_, DateAdd(“m”, 1, d_))
    End Function

    ‘——————————
    ‘ 功能说明:得到某年某月的第一天
    ‘——————————
    Public Function GetMonthFirstDay()
        GetMonthFirstDay = CDate( Year(d_) & “-” & Month(d_) & “-1”)
    End Function

    ‘——————————
    ‘ 功能说明:得到某年的某月的最后一天
    ‘——————————
    Public Function GetMonthLastDay()
        GetMonthLastDay = CDate( Year(d_) & “-“&Month(d_) & “-” & DateDiff(“d”, d_, DateAdd(“m”, 1, d_)))
    End Function

    ‘——————————
    ‘ 功能说明:某日所在的周的第一天的日期
    ‘——————————
    Public Function WeekFirstDay()
        WeekFirstDay = GetWeekDate(Year(d_), DatePart(“ww”, d_,firstdayofweek_,firstweekofyear_), 1)
    End Function

    ‘——————————
    ‘ 功能说明:某日所在的周的第最后一天的日期
    ‘——————————
    Public Function WeekLastDay()
        WeekLastDay = GetWeekDate(Year(d_), DatePart(“ww”, d_,firstdayofweek_,firstweekofyear_), 7)
    End Function

End Class
%>

测试页面:
复制代码 代码如下:






Test_clsDateFunEx



<%
Dim myDateFun,strDate 
strDate = “2005-4-1”
Set myDateFun = new DateFunEx 
    myDateFun.setDate = strDate
    Response.write “2006年第2周的星期一是几号:” & _
                         myDateFun.GetWeekDate(2006,2,1) &”

    Response.Write “2005年4月的天数:”&_
                         myDateFun.GetMonthDayCount & “

    Response.Write “2005年4月的第一天:”&_
                         myDateFun.GetMonthFirstDay & “

    Response.Write “2005年4月的最后一天:”&_
                         myDateFun.GetMonthLastDay & “

    Response.Write “2005年4月1日所在的周的第一天的日期:”&_
                         myDateFun.WeekFirstDay & “

    Response.Write “2005年4月1日所在的周的第最后一天的日期:” & _
                        myDateFun.WeekLastDay & “

Set myDateFun = Nothing
%>




下载此文件