[英]Convert year and week number to date
我正在使用表单元素来创建日期选择器。 您可以选择一年、一个月和一天。 或者你可以选择一年零一周。 我正在努力解决一周的问题。
您 select 开始年份和开始周,然后是结束年份和结束周。
假设您选择 4 作为开始周,选择 7 作为结束周。 然后,我希望将第 4 周的星期一作为开始日期,将第 7 周的星期日作为结束日期。
如何以 YYYY-MM-DD 格式获取这些日期? 不知道从哪里开始!
我现在拥有的是四个下拉菜单。 开始年,开始周,结束年和结束周。 谁能指出我正确的方向?
关于这个问题,go 有很多很多不同的方法。 我开始问自己,“给定日期和月份,我将如何获得日期?”,然后我从给定周数的情况下逆向工作,如何获得日期。 答案非常简单,涉及双For
循环和 VBA 中Application.WorksheetFunction.WeekNum的使用。 将周开始设置为星期一也将返回该周的星期一,因此不需要额外的努力。
Sub Convert_Dates()
'user inputs
Dim lYear As Long: lYear = 2020
Dim lWeekNum As Long: lWeekNum = 4
Dim lMonth As Long, lDay As Long
For lMonth = 1 To 12
For lDay = 1 To 31
If Application.WorksheetFunction.WeekNum(DateSerial(lYear, lMonth, lDay), vbMonday) = lWeekNum Then
Debug.Print Format(DateSerial(lYear, lMonth, lDay), "YYYY-MM-DD")
Exit Sub
End If
Next lDay
Next lMonth
End Sub
output 是:
我相信您现在可以修改它以满足您的需要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.