vb.net判断是第几周的简单介绍

vb编程计算某年某月某日是星期几VB内置的Weekday函数就可以返回星期.
Weekday(date[, firstdayofweek])
-- date: 必要; Date类型; 要求的日期
-- firstdayofweek: 可选; vbDayOfWeek类型; 定义每周第一天(默认为星期天)
Weekday返回一个Integer, 代表每周第几天.
============================================
WeekdayName(weekday[, abbreviate][, firstdayofweek])
-- weekday: 必要; Long类型; 每周第几天
-- abbreviate: 可选; Boolean类型; 表示星期的名称是否被缩写(默认为False)
-- firstdayofweek: 可选; vbDayOfWeek类型; 定义每周第一天(默认为星期天)
WeekdayName返回一个String, 如"星期一", 但根据不同的系统, 也会返回如"Monday".
============================================
你也可以不用WeekdayName自己得到星期名
Choose(Weekday(#8/8/2008#, vbMonday), "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
VB6.0 要得到某一周是从哪一天开始的,哪一天结束的?这里的“某一周”是有歧义的:
一种可能是某日期所在的周
第二种是某年的第几周 。这还有歧义 。因为某年的第一周,可能开始于上一年 , 同时这一周也是上一年的最后一周 , 会重复计算 。我们这里假设“不管是否重复计算”
第三种是每周从星期几开始 。我们这里假设“从星期一开始” 。
下面分别是输出“某日期所在的周始终日期”、“某年某周始终日期”、“某年各周始终日期”的代码!
如果每周从星期日开始,将vbMonday替换为vbSunday即可 。
'某日期所在的周始终日期
Private Sub Command3_Click()
Dim dt As Date
Dim wd As Integer
dt = InputBox("请输入一个日期(Date格式):", "输入日期", Date)
wd = Weekday(dt, vbMonday)'某日是星期几,周一为第一天
firstDay = DateAdd("d", -wd + 1, dt)'本周的开始日期
endDay = DateAdd("d", 7 - wd, dt)'本周的开始日期
Text1.Text = "当前日期所在的周起止日期:"
Text1.Text = Text1.TextvbNewLine
Text1.Text = Text1.TextvbNewLine"每周从星期一开始"
Text1.Text = Text1.TextvbNewLinefirstDayvbTabendDay
wd = Weekday(dt, vbSunday)'某日是星期几 , 周日为第一天
firstDay = DateAdd("d", -wd + 1, dt)'本周的开始日期
endDay = DateAdd("d", 7 - wd, dt)'本周的开始日期
Text1.Text = Text1.TextvbNewLine
Text1.Text = Text1.TextvbNewLine"每周从星期日开始"
Text1.Text = Text1.TextvbNewLinefirstDayvbTabendDay
End Sub
'某年某周始终日期
Private Sub Command4_Click()
Dim y As Integer
Dim w As Integer
Dim dt As Date
Dim wd As Integer
y = InputBox("请输入年份:", "输入年份", Year(Date))
dt = DateSerial(y, 1, 1)
w = InputBox("请输入周数:", "第几周", "")
dt = DateAdd("ww", (w - 1), dt)
wd = Weekday(dt, vbMonday)'某日是星期几,周一为第一天
firstDay = DateAdd("d", -wd + 1, dt)'本周的开始日期
endDay = DateAdd("d", 7 - wd, dt)'本周的开始日期
Text1.Text = "当前日期所在的周起止日期:"
Text1.Text = Text1.TextvbNewLine
Text1.Text = Text1.TextvbNewLine"每周从星期一开始"
Text1.Text = Text1.TextvbNewLinefirstDayvbTabendDay
End Sub
'某年各周始终日期
Private Sub Command2_Click()
Dim y As Integer
Dim w As Integer
【vb.net判断是第几周的简单介绍】Dim dt As Date
Dim dte As Date
Dim wd As Integer
y = InputBox("请输入年份:", "输入年份", Year(Date))
dt = DateSerial(y, 1, 1)
dte = DateAdd("yyyy", 1, dt) - 1'某年最后一天
wd = Weekday(dt, vbMonday)'某日是星期几,周一为第一天

推荐阅读