第1部分
Dim totdays as long
totdays = DateDiff("d", "01/2011", DateAdd("m", 1, "01/2011"))
上面的代码将返回“31”
我想得到31岁的日子。
预期产出
Monday (31/01/2011)
需要VB6代码帮助
第2部分
我想找到特定月份的星期日......
例如,如果我选择月份01/2012,查询应该给出这样的结果
01
08
15
22
29
以上日期是星期日。
01/2012
月的预期输出
01
08
15
22
29
答案 0 :(得分:4)
类似的东西(在vba中测试)
星期日子查询的最终更新
根据Gopal评论中的要求
Dim strDate As String
Dim dtStart As Date
Dim dtEnd As Date
Dim stEnd As Date
Dim lngCnt As Long
Dim strOut As String
strDate = "01/2012"
dtStart = DateValue(strDate)
dtEnd = DateAdd("d", DateDiff("d", strDate, DateAdd("m", 1, strDate) - 1), dtStart)
lngCnt = Weekday(dtStart) - 7
Do
lngCnt = lngCnt + 7
strOut = strOut & Format(lngCnt, "00") & vbNewLine
Loop While lngCnt + 7 <= dtEnd - dtStart
MsgBox strOut
已更新
请注意,我需要使用lngdays-1
在不到一个月的时间内添加1天(即2011年1月31日),否则您将在2011年2月1日之前添加
Dim strDate As String
Dim lngdays As Long
strDate = "01/2011"
lngdays = DateDiff("d", strDate, DateAdd("m", 1, strDate))
MsgBox Format(DateAdd("d", lngdays - 1, strDate), "dddd (dd/mm/yyyy)")
<强>旧强>
Dim lngdays As Long
lngdays = DateDiff("d", "01/2011", DateAdd("m", 1, "01/2011"))
MsgBox Format(DateSerial(2011, 1, lngdays), "dddd (dd/mm/yyyy)")
答案 1 :(得分:0)
使用这样的格式化功能。在这里我使用了Now但你可以传递任何日期并格式化dayname
的返回字符串Format(Now, "dddd")
答案 2 :(得分:0)
您可以使用VB6中的DateSerial
函数将字符串或整数变量转换为日期变量
Dim d As String
Dim datevar As Date
d = "31"
datevar = DateSerial(2011,1, Val(d))
MsgBox Format(datevar,"DDDD dd/MMM/yyyy")