如何获得本日所在周的第一天日期与最后一天日期

以下是实现的多种方法,可根据您的自身需要进行使用

//所在周的第一天日期
selectdateadd(dd,datediff(dd,'1900-01-01',getdate())-datepart(dw,getdate())+1,'1900-01-01')
//所在周的最后一天日期
selectdateadd(dd,datediff(dd,'1900-01-01',getdate())+(7-datepart(dw,getdate())),'1900-01-01')

--1、当天所在周的第一天(星期天)
SELECTDATEADD(day,1-DATEPART(weekday,convert(char(10),getdate(),12)),convert(char(10),getdate(),12))AS'ThisSunday'
selectdateadd(dd,datediff(dd,'1900-01-01',getdate())-datepart(dw,getdate())+1,'1900-01-01')
--2、当天所在周的最后一天(星期六)
SELECTDATEADD(day,7-DATEPART(weekday,convert(char(10),getdate(),12)),convert(char(10),getdate(),12))AS'ThisSaturday'
selectdateadd(dd,datediff(dd,'1900-01-01',getdate())+(7-datepart(dw,getdate())),'1900-01-01')
--依次类推可以得到当天所在周任意一天的日期

selectgetdate()-(datepart(weekday,getdate())-1),getdate()+(7-datepart(weekday,getdate()))

selectdateadd(dd,-(datepart(weekday,getdate())-2),getdate()),dateadd(dd,(7-datepart(weekday,getdate())+1),getdate())


以下是用VB/ASP使用的取当前日期所在周的起目日期
Functionfirstdateofthisweek(ByValdAsObject)AsObject
firstdateofthisweek=d-weekday(d)+1
EndFunction


Functionlastdateofthisweek(ByValdAsObject)AsObject
lastdateofthisweek=d-weekday(d)+7
EndFunction

所在月第一天和最后一天的计算方法:

selectconvert(datetime,convert(char(8),getdate(),120)+'1')

selectdateadd(day,-1,convert(char(8),dateadd(month,1,getdate()),120)+'1')

你可能感兴趣的:(asp,vb)