获取一个日期所在的周(月)开始日期,周(月)结束日期

1、获取一个日期所在的周开始日期,周结束日期

-- declare @now datetime = getdate();  --获取当前日期  

declare @now datetime = '2021-01-15';  --指定日期
declare @date datetime = convert(date, @now); 

declare @start datetime = dateadd(d, 2 - datepart(w, @date), @date), 
        @end datetime = dateadd(d, 8 - datepart(w, @date), @date) + '23:59:59'; 

select @start 周开始日期, @now 当前日期 , @end 周末尾日期; 
周开始日期当前日期周末尾日期
2021-01-11 00:00:00.0002021-01-15 00:00:00.0002021-01-17 23:59:59.000

2、获取一个日期所在的月开始日期,月结束日期

declare

	@start datetime,
	@end  datetime,
	--@now datetime= getdate()  --获取当前日期
	@now datetime= '2021-01-15' --指定日期
	
set @start=convert(varchar(20),year(@now))+'-'+convert(varchar(20),month(@now)) +'-1 00:00:00'             
set @end=convert(varchar(20),dateadd(d,-day(@now),dateadd(m,1,@now)),23)+' 23:59:59'  
         
select @start 月开始日期, @now 当前日期 , @end 月末尾日期; 
月开始日期当前日期月尾日期
2021-01-01 00:00:00.0002021-01-15 00:00:00.0002021-01-31 23:59:59.000
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值