在vb中设置显示今天是休息日还是工作日

如题所述

由于每年的节假日安排是不相同的,精确判断今天到底是工作日还是休息日,需要建立和不断维护一个数据库,然后连接这个数据库做对比判断,这种方案开销太大不做考虑。下面提供一个基于今天是星期几进行判断的示例解决方案:

打开窗体时用窗体标签显示今天是工作日还是休息日

编写下列窗体加载时间过程

Private Sub Form_Load()
    Dim str As String
    str = IIf(Weekday(Date) = 1 Or Weekday(Date) = 7, "今天是休息日", "今天是工作日")
    Me.Caption = str
End Sub

运行效果


代码中的VB系统函数说明:


Date函数可获取系统当前日期;


Weekday函数返回一个整数,代表某个日期是星期几

函数语法:Weekday(date, [firstdayofweek])

参数说明:date 必要参数,能够表示被计算的日期。firstdayofweek  可选参数,指定一星期第一天的常数。如果未予指定,则以 vbSunday
为缺省值,即该参数默认常量下,星期天Weekday返回1、星期六返回7;


IIF函数可根据表达式的值,来返回两部分中的其中一个

函数语法:IIf(expr, truepart, falsepart)

参数说明:expr 必要参数,用来判断真伪的表达式。truepart 必要参数,如果 expr 为 True,则返回这部分的值或表达式。falsepart 必要参数,如果 expr 为 False,则返回这部分的值或表达式。    

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-22
x = Weekday(Now, vbSunday)
Print IIf(x > 1 And x < 7, "工作日", "休息日")本回答被提问者采纳
第2个回答  2011-03-22
If Weekday(Now, 2) = 6 Or Weekday(Now, 2) = 7 Then
Text1.Text = "休息日"
End If
相似回答