首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么把一年中的星期六和星期天都找出来

2012-08-24 
如何把一年中的星期六和星期天都找出来?用什么函数能把星期六和星期天都找到或者一种什么判断方法也行[解

如何把一年中的星期六和星期天都找出来?
用什么函数能把星期六和星期天都找到

或者一种什么判断方法也行

[解决办法]

VB code
Option ExplicitPrivate Sub Command1_Click()    Dim strStartDay As String    Dim strToday As String    Dim intP As Integer    Dim intWeekDay As Integer    strStartDay = "2012-01-01"    For intP = 0 To 364        strToday = DateAdd("d", intP, strStartDay)        intWeekDay = Weekday(strToday)        If intWeekDay = 7 Then            List1.AddItem strToday & ";周六"        ElseIf intWeekDay = 1 Then            List1.AddItem strToday & ";周日"        End If    Next intPEnd Sub
[解决办法]
Weekday 函数


返回一个 Variant (Integer),包含一个整数,代表某个日期是星期几。

语法

Weekday(date, [firstdayofweek])

Weekday 函数语法有下列的命名参数:

部分 描述 
date 必要。能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。 
Firstdayofweek 可选。指定一星期第一天的常数。如果未予指定,则以 vbSunday 为缺省值。 


设置

firstdayofweek 参数有以下设定值:

常数 值 描述 
vbUseSystem 0 使用 NLS API 设置。 
VbSunday 1 星期日(缺省值) 
vbMonday 2 星期一 
vbTuesday 3 星期二 
vbWednesday 4 星期三 
vbThursday 5 星期四 
vbFriday 6 星期五 
vbSaturday 7 星期六 


返回值

Weekday 函数可以返回以下诸值:

常数 值 描述 
vbSunday 1 星期日 
vbMonday 2 星期一 
vbTuesday 3 星期二 
vbWednesday 4 星期三 
vbThursday 5 星期四 
vbFriday 6 星期五 
vbSaturday 7 星期六 


[解决办法]
星期六和星期天是循环的,星期到星期天都是间隔5天.
每年365/366天,合52星期,星期六的天数不会超过54次.

找到第一个星期六(从开始日期开始,不会超过7天),接下来没隔5天输出一个星期6,一个星期天.
VB code
Dim StartDay As StringDim dateStartDay As Date, dateEndDay As DateDim i As DateStartDay = "2012-1-1"dateStartDay = CDate(StartDay)dateEndDay = CDate(Year(StartDay) + 1 & "-" & Month(StartDay) & "-" & Day(StartDay)) - 1For i = 0 To 7        If Weekday(dateStartDay + i) = 7 Then Exit ForNext idateStartDay = dateStartDay + iFor i = dateStartDay To dateEndDay        Debug.Print i, Weekday(i)        i = i + 1        Debug.Print i, Weekday(i)        i = i + 5Next i
[解决办法]
探讨
星期六和星期天是循环的,星期到星期天都是间隔5天.
每年365/366天,合52星期,星期六的天数不会超过54次.

找到第一个星期六(从开始日期开始,不会超过7天),接下来没隔5天输出一个星期6,一个星期天.

VB code

Dim StartDay As String
Dim dateStartDay As Date, dateEndDay As Date
Dim i A……

[解决办法]
我有个公式可以计算0-9999年中任意一天是星期几,就在我发的帖子里。
LZ感兴趣可以找一下
[解决办法]
我找到了。。。。

有一个公式:W=[C/4]-2C+Y+[Y/4]+[26(M+1)/10]+D-1
式中:W为所求日期的星期数。如果W大于(小于)7,就减去(加上)7的倍数,直到余数小于7为止。
C为公元年份的前两位数字,Y为后两位数字,M是月数,D是日数。
方括号[]表于对于括号内的数字取整。
特别注意的是:所求的月份如果是1月或2月,则应视为上一年的13月或14月,也就是公式中的M的
取值范围从3到14而不是从1到12。
[解决办法]
VB code
Module:Public Function Get_First_Saturday(ByVal myYear As Integer) As DateDim i As DateFor i = CDate(myYear & "-01-01") To CDate(myYear & "-01-07")    If Weekday(i, vbSaturday) = 1 Then        Get_First_Saturday = i        Exit Function    End IfNext iEnd FunctionForm:Private Sub Command1_Click()    Dim my_saturday As Date, my_sunday As Date        my_saturday = Get_First_Saturday(2012)        Do        my_sunday = my_saturday + 1        List1.AddItem my_saturday        List2.AddItem my_sunday        my_saturday = my_saturday + 7    Loop While Year(my_saturday) = 2012    End Sub 


[解决办法]
我的想法:

首先按天计数,并得到第一个周六的天数,比如第5天.

然后用个FOR循环,STEP设置为6,得到每次执行的天数,记为周六,再将循环变量加1,继续循环直到结束.

将每个周六天数换算成日期,再将这个天数加1换算成日期得到周日.

代码就不写了
[解决办法]

探讨

星期六和星期天是循环的,星期到星期天都是间隔5天.
每年365/366天,合52星期,星期六的天数不会超过54次.

找到第一个星期六(从开始日期开始,不会超过7天),接下来没隔5天输出一个星期6,一个星期天.
VB code

Dim StartDay As String
Dim dateStartDay As Date, dateEndDay As Date
Dim i As Da……

热点排行