復制代碼 代碼如下:
<%
'轉發時請保留此聲明信息,這段聲明不並會影響你的速度!
'************************** 【日期擴展類】Ver 0.1.1********************************
'開發人: Sman、Net Fetch
'開發日期: 2005-11-11
'版本號: Ver 0.1.1
'官方網站:http://www.sman.cn http://www.ad0.cn
'電子郵件:
[email protected] [email protected] '每日在線QQ:19341293 32050450
'版權聲明:版權沒有,盜版不究,源碼公開,歡迎盜版,歡迎你到官方網站來尋求支持。
'如有任何改進之處,麻煩轉發或者反饋一份到
[email protected]、
[email protected],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
%>
測試頁面:
復制代碼 代碼如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% Option Explicit %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Test_clsDateFunEx</title>
</head>
<body>
<!--#include file="clsDateFunEx.asp" -->
<%
Dim myDateFun,strDate
strDate = "2005-4-1"
Set myDateFun = new DateFunEx
myDateFun.setDate = strDate
Response.write "2006年第2周的星期一是幾號:" & _
myDateFun.GetWeekDate(2006,2,1) &"<br>"
Response.Write "2005年4月的天數:"&_
myDateFun.GetMonthDayCount & "<br>"
Response.Write "2005年4月的第一天:"&_
myDateFun.GetMonthFirstDay & "<br>"
Response.Write "2005年4月的最後一天:"&_
myDateFun.GetMonthLastDay & "<br>"
Response.Write "2005年4月1日所在的周的第一天的日期:"&_
myDateFun.WeekFirstDay & "<br>"
Response.Write "2005年4月1日所在的周的第最後一天的日期:" & _
myDateFun.WeekLastDay & "<br>"
Set myDateFun = Nothing
%>
<br><br><br>
</body>
</html>
下載此文件