Foxtable(狐表)用户栏目专家坐堂 → [求助]根据周别返回日期


  共有1949人关注过本帖树形打印复制链接

主题:[求助]根据周别返回日期

帅哥哟,离线,有人找我吗?
qq51837000
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
[求助]根据周别返回日期  发帖心情 Post By:2024/5/29 19:09:00 [只看该作者]

老师,请问如何根据给定的年份和周别返回这一周的日期,代码怎么写?
如:给定2023年第36周,如何写代码得到这一周的第一天或最后一天?

 回到顶部
帅哥哟,离线,有人找我吗?
hongsejiyi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:5308 威望:0 精华:0 注册:2019/1/1 15:53:00
  发帖心情 Post By:2024/5/29 21:14:00 [只看该作者]

Dim n As Integer = 36 '周次
For i As Integer = 1 To DatePart("ww", New Date(2024, 12, 31))
    Dim d As Date = New Date(2024, 1, 1)
    d = d.AddDays(7 * (i - 1))
    If i = n Then 
        Output.Show(cexp("第{0}周的第1天{1},最后一天{2}", n, d, d.AddDays(6)))
    End If 
Next 

 回到顶部
帅哥哟,离线,有人找我吗?
hongsejiyi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:340 积分:5308 威望:0 精华:0 注册:2019/1/1 15:53:00
  发帖心情 Post By:2024/5/29 21:14:00 [只看该作者]

运行结果:
第36周的第1天2024-09-02,最后一天2024-09-08


 回到顶部
帅哥哟,离线,有人找我吗?
qq51837000
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
  发帖心情 Post By:2024/5/30 0:03:00 [只看该作者]

感谢回答,但这个好象不对吧,你这是从1月1日开始按7天相乘得到的结果,不准确

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/5/30 8:56:00 [只看该作者]

Dim d As Date = Date.Today
Output.Show(d.DayOfWeek),通过当天是星期几反算吧

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/30 9:02:00 [只看该作者]

Dim year As Integer = 2024
Dim week As Integer = 1
Dim d As Date = New Date(year, 1, 1)
Dim w = d.DayOfWeek
Dim startdate As Date
Dim Enddate As Date
Select Case week
    Case 0
        startdate = d
        Enddate = d.AddDays(7 - w - 1)
    Case 53
        startdate = d.AddDays(7 - w).AddDays(7 * 51)
        Enddate = d.AddYears(1).AddDays( - 1)
    Case Else
        startdate = d.AddDays(7 - w).AddDays(7 * (week - 2))
        Enddate = startdate.AddDays(6)
End Select
Output.Show(startdate & "-" & Enddate)
[此贴子已经被作者于2024/5/30 9:18:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/5/30 9:09:00 [只看该作者]

mark

 回到顶部
帅哥哟,离线,有人找我吗?
qq51837000
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
  发帖心情 Post By:2024/5/30 9:45:00 [只看该作者]

怎样写成带year和week两个参数的自定义函数?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/30 9:53:00 [只看该作者]

Dim year As Integer = args(0)
Dim week As Integer = args(1)

 回到顶部
帅哥哟,离线,有人找我吗?
qq51837000
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:234 积分:2326 威望:0 精华:0 注册:2021/3/7 1:27:00
  发帖心情 Post By:2024/5/30 10:23:00 [只看该作者]

谢谢老师
[此贴子已经被作者于2024/5/30 14:36:45编辑过]

 回到顶部