如何计算当前日期是当年的第几周
答案:2 悬赏:50
解决时间 2021-02-03 14:51
- 提问者网友:涼初透
- 2021-02-02 16:58
如何计算当前日期是当年的第几周
最佳答案
- 二级知识专家网友:留下所有热言
- 2021-02-02 18:16
当前日期为dt,
首先,获取当前日期的星期几dt.DayOfWeek
再根据当前日期dt和星期几dt.DayOfWeek来求得当前日期dt所在周的开始日期(这里以周日作为一周的开始日期),
开始日期:dt.AddDays(-(dt.DayOfWeek))
如果开始日期和当前日期不是同一月份,
那当前日期应该属于第一周,
如果开始日期和当前日期是同一月份,
用开始日期的日部分除以7,
如果除的断,当期日期所属周为:开始日期除7的商,否则为商+1
首先,获取当前日期的星期几dt.DayOfWeek
再根据当前日期dt和星期几dt.DayOfWeek来求得当前日期dt所在周的开始日期(这里以周日作为一周的开始日期),
开始日期:dt.AddDays(-(dt.DayOfWeek))
如果开始日期和当前日期不是同一月份,
那当前日期应该属于第一周,
如果开始日期和当前日期是同一月份,
用开始日期的日部分除以7,
如果除的断,当期日期所属周为:开始日期除7的商,否则为商+1
全部回答
- 1楼网友:何必打扰
- 2021-02-02 18:24
给出的日期求当月一号的方法你的写法应该是比较简单的方法了,不过感觉你给转换成char型不太好,最好是varchar型的,另外你的写法可以简写成
select convert(varchar(6),cast('2006-3-8' as datetime),112)+'01'
这样得到的'20060301'可以直接作为日期来使用,不必再转换。
得到之前几个个月的第一天可以直接用dateadd来实现
比如得到3月1日的上一月1日,也就是2月1日的方法是
select dateadd(month,-1,convert(varchar(6),cast('2006-3-8' as datetime),112)+'01')
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |