Visual studio2010,中C++的一个问题,说要输入年和月,然后得知该月第一天为周几的问题
用了#include<atltime.h>这个头文件,然后用Ctime获取到了输入的年份和月份后,然后该用什么方法来得知对应月第一天是周几啊?...
用了#include<atltime.h>这个头文件,然后用Ctime获取到了输入的年份和月份后,然后该用什么方法来得知对应月第一天是周几啊?
展开
2个回答
展开全部
基姆拉尔森公式
根据年月日计算周几
根据年月日计算周几
更多追问追答
追问
但是大神请问具体该怎么书写程序啊?
追答
//y-年,m-月,d-日期
string CaculateWeekDay(int y,int m, int d)
{
if(m==1||m==2) {
m+=12;
y--;
}
int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
string weekstr="";
switch(week)
{
case 0: weekstr="星期一"; break;
case 1: weekstr="星期二"; break;
case 2: weekstr="星期三"; break;
case 3: weekstr="星期四"; break;
case 4: weekstr="星期五"; break;
case 5: weekstr="星期六"; break;
case 6: weekstr="星期日"; break;
}
return weekstr;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <time.h>
short year, month;
cin >> year >> month;//输入年月
struct tm tm1 = {0};
tm1.tm_year = year - 1900;
tm1.tm_mon = month - 1;
tm1.tm_mday = 1;
time_t time = mktime(&tm1);
struct tm *ptm = localtime(&time);//计算
if(ptm->tm_mday)//输出
{
cout << "星期" << ptm->tm_wday << endl;
}
else
{
cout << "星期天" << endl;
}
short year, month;
cin >> year >> month;//输入年月
struct tm tm1 = {0};
tm1.tm_year = year - 1900;
tm1.tm_mon = month - 1;
tm1.tm_mday = 1;
time_t time = mktime(&tm1);
struct tm *ptm = localtime(&time);//计算
if(ptm->tm_mday)//输出
{
cout << "星期" << ptm->tm_wday << endl;
}
else
{
cout << "星期天" << endl;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询