复制代码 代码如下:
%
'转发时请保留此声明信息,这段声明不并会影响你的速度!
'************************** 【日期扩展类】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
%>
测试页面:
复制代码 代码如下:
%@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>
下载此文件