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), "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-12
Private Sub Command1_Click()
Dim s As Date
s = "2008-7-26"
MsgBox WeekdayName(Weekday(s))
End Sub

'上面是系统函数,如果用数学方法也不难,就是((某天-今天)的天数-1) mod 7,返回的值将是0~6,其中0为星期日
第2个回答  2007-08-12
使用VB自带的日期函数WeekdayName和Weekday,
例如:MsgBox WeekdayName(Weekday("2007-08-12"))
最后显示“星期日”

关于这两个函数的具体说明请参照:http://fireflys.vicp.net/Article/20070605193601.htm
第3个回答  2019-12-31
这是c++程序我在vc6.0上调试过了应该满足你的要求,你自己看看行不行?不行的话你在补充说明一下哈。
#include
"stdlib.h"
#include
"string.h"
#include
"iostream.h"
bool
leap_year(int
year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
return
true;
else
return
false;
}
void
main(void)
{
int
year;
int
month;
int
day;
int
days[12]={0};
int
week;
int
total;
int
i;
char
quit
=
'y';
while(tolower(quit)=='y')
{
total
=
0;
cout<<"请输入年月日:";
cin>>year>>month>>day;
if(leap_year(year))
{
days[0]=days[2]=days[4]=days[6]=days[7]=days[9]=days[11]=31;
days[1]=29;
days[3]=days[5]=days[8]=days[10]=30;
}
else
{
days[0]=days[2]=days[4]=days[6]=days[7]=days[9]=days[11]=31;
days[1]=28;
days[3]=days[5]=days[8]=days[10]=30;
}
for(i=0;
i
>quit;
}
}
相似回答