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

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

//所在周的第一天日期
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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值