[c语言输入年月日算第几天]日期比较容易算。星期几可以用下面的公式来计算: (年份-1) + (年份-1)/4 - (年份-1)/100 + (年份-1)/400 +第几天 建立两个数组,一个是每月天数的数组,一个是星期几的数组。 程序如下: #...+阅读
楼主,应该说明用什么语言编程,给你个C语言的.#include #include #include #include struct TIME { int year; int month; int day; }; int is_runyear(int year) { if((year%4==0&year%100!=0)||(year%400==0)) return 1; else return 0; } int check_data(struct TIME time) { if(time.year<1) { printf("输入的年份错误\n"); return -1; } if(time.month<1||time.month>12) { printf("输入的月份错误\n"); return -2; } switch(time.month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:if(time.day<1||time.day>31) { printf("输入的日期错误\n"); return -3; } break; case 4: case 6: case 9: case 11:if(time.day<1||time.day>30) { printf("输入的日期错误\n"); return -3; } break; case 2:if(is_runyear(time.year)==1&(time.day<1||time.day>29)) { printf("输入的日期错误\n"); return -3; } else if(is_runyear(time.year)!=1&(time.day<1||time.day>28)) { printf("输入的日期错误\n"); return -3; } } return 0; } int days(struct TIME time) { int flag=0; int result=0; flag=is_runyear(time.year); switch(time.month) { case 12:result+=30; case 11:result+=31; case 10:result+=30; case 9:result+=31; case 8:result+=31; case 7:result+=30; case 6:result+=31; case 5:result+=30; case 4:result+=31; case 3:if(flag==1) result+=29; else result+=28; case 2:result+=31; } return result+time.day; } void main() { struct TIME time; int recode; printf("请输入年月日,以空格分开\n"); scanf("%d%d%d",&time.year,&time.month,&time.day); if((recode=check_data(time))!=0) { printf("输入数据错误,错误码为%d\n",recode); exit(0); } printf("是该年的第%d天",days(time)); }
asp中如何获取当前日期是本年第几周
asp.net 日期控件用 calendar aspx页面代码: borderwidth="1px" daynameformat="shortest" font-names="verdana" font-size="8pt" forecolor="#663399" height="200px" showgridlines="true" width="220px" onselectionchanged="calendar1_selectionchanged">不选择 天 天/周 天/周/月 选中的日期是: 选中的天是: 选中的月是: 选中的年是: 年 月 日 aspx.cs页面代码:protected void page_load(object sender, eventargs e) { if (!ispostback) { for (int i = 1980; i { y.items.add(i.tostring()); } for (int j = 1; j { m.items.add(j.tostring()); } for (int k = 1; k { d.items.add(k.tostring()); } label1.text = "请选定日期"; label2.text = "请选定日期"; label3.text = "请选定日期"; label4.text = "请选定日期"; } } protected void dropdownlist1_selectedindexchanged(object sender, eventargs e) { switch (dropdownlist1.selectedvalue) { case "none": calendar1.selectionmode = calendarselectionmode.none; break; case "day": calendar1.selectionmode = calendarselectionmode.day; break; case "dayweek": calendar1.selectionmode = calendarselectionmode.dayweek; break; case "dayweekmonth": calendar1.selectionmode = calendarselectionmode.dayweekmonth; break; //default: calendar1.selectionmode = calendarselectionmode.day; } } protected void calendar1_selectionchanged(object sender, eventargs e) { label1.text = calendar1.selecteddate.date.toshortdatestring(); label2.text = calendar1.selecteddate.day.tostring(); label3.text = calendar1.selecteddate.month.tostring(); label4.text = calendar1.selecteddate.year.tostring(); } protected void setbutton_click(object sender, eventargs e) { calendar1.visibledate = convert.todatetime(y.selectedvalue.tostring() + "-" + m.selectedvalue.tostring() + "-" + d.selectedvalue.tostring()); }
编写函数得到某年一个月的天数
#include
int main(int argc, constchar * argv[])
{
int year=0,month=0,day=0,result=0;
printf("请输入年份:(年月日之间用逗号隔开)");
scanf("%d,%d,%d",&year,&month,&day);
if(year/400||((year/4)&(!(year/100)))){
printf("这一年是闰年,");
switch (month) {
case1:
result=day;break;
case 2:
result=31+day;break;
case3:
result=31+29+day;break;
case4:
result=31+29+31+day;break;
case5:
result=31+29+31+30+day;break;
case6:
result=31+29+31+30+31+day;break;
case7:
result=31+29+31+30+31+30+day;break;
case8:
result=31+29+31+30+31+30+31+day;break;
case9:
result=31+29+31+30+31+30+31+31+day;break;
case10:
result=31+29+31+30+31+30+31+31+30+day;break;
case11:
result=31+29+31+30+31+30+31+31+30+31+day;break;
case12:
result=31+29+31+30+31+30+31+31+30+31+30+day;break;
default:
break;
}
}
else{
printf("这一年不是闰年。");
switch (month) {
case1:
result=day;break;
case 2:
result=31+day;break;
case3:
result=31+30+day;break;
case4:
result=31+30+31+day;break;
case5:
result=31+30+31+30+day;break;
case6:
result=31+30+31+30+31+day;break;
case7:
result=31+30+31+30+31+30+day;break;
case8:
result=31+30+31+30+31+30+31+day;break;
case9:
result=31+30+31+30+31+30+31+31+day;break;
case10:
result=31+30+31+30+31+30+31+31+30+day;break;
case11:
result=31+30+31+30+31+30+31+31+30+31+day;break;
case12:
result=31+30+31+30+31+30+31+31+30+31+30+day;break;
default:
break;
}
}
printf("这一天是这一年的第%d天!\n",result);
return0;
}
java根据年月获取对应的月份工作日天数
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
System.out.println(countWorkDay(2018, 6));
}
/**
* 获取指定年月有多少个工作日)
*
* param year
* param month
* return
*/
public static int countWorkDay(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
// 月份是从0开始计算,所以需要减1
c.set(Calendar.MONTH, month - 1);
// 当月最后一天的日期
int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);
// 开始日期为1号
int start = 1;
// 计数
int count = 0;
while (start <= max) {
c.set(Calendar.DAY_OF_MONTH, start);
if (isWorkDay(c)) {
count++;
}
start++;
}
return count;
}
// 判断是否工作日(未排除法定节假日,由于涉及到农历节日,处理很麻烦)
public static boolean isWorkDay(Calendar c) {
// 获取星期,1~7,其中1代表星期日,2代表星期一 ... 7代表星期六
int week = c.get(Calendar.DAY_OF_WEEK);
// 不是周六和周日的都认为是工作日
return week != Calendar.SUNDAY & week != Calendar.SATURDAY;
}
}
以下为关联文档:
用C输入年月日怎样输出是第几周星期几急急急#include<stdio.h> //#include<windows.h> int days[]={0,31,59,90,120,151,181,212,243,273,304,334,365}; int month[]={31,28,31,30,31,30,31,31,30,31,30,31}; char wee...
c语言:从键盘上输入数字形式的年月日输出英文形式的年月日并void main() { int y,m,d,a; scanf("%d%d%d",&y,&m,&d); if(m==1||m==2) { m+=12; y--; } a=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;//这是一个公式,下就知道了。 printf("输入...
C语言的问题:根据输入的年月日输出该日为该年度的第几周第几//根据输入的年月日,输出该日为该年度的第几周、第几天、星期几。 //如输入: 2007,12,1 //则输出: 48z,335t,6xq int date[12]={31,28,31,30,31,30,31,31,30,31,30,31};#includ...
c问题要求输入年月日输出像日历形式/*以输入时间为基准,显示当前年月的日历 可以按左右方向键,翻到上一月或下一月 可以按上下方向键,翻到上一年或下一年 */ #include#include#includeint leap(int year ) { if (...
c语言??输入任一年月日计算该年月日为星期几不必用 switch. 以前编过一个. 现在找出来配了个主程序. 你试试吧. ---输入年,月,日:2000,3,1 答: 2000年3月1日是星期三. ---输入年,月,日:2008,4,20 答: 2008年4月20日是星期日. -...
简单的日期计算器输入年月日输出该日期的前一天和后一天#include "stdio.h"void main(){ int year,month,day; printf("请输入一个年、月、日:\n"); scanf("%d,%d,%d",&year,&month,&day); if(year%4==0&year%100!=0||year%400==0) { if(mo...
7输入年月日输出该天是该年中的第几天用C++写了,跟JAVA大同小异,改改就是了 #include //计算第几天 using namespace std; int days[11] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30}; void main() { int year...
在主函数中输入年月日编写一个函数求该日是该年的第几天void main() { int year, month, day; int days; printf("请输入日期(年 月 日):"); while (1) { scanf("%d,%d,%d", &year, &month, &day); if ((month0)&(day0)) break; system("cls")...
微机系统的输入输出指什么输入和输出有什么不同输入设备 输入设备是人向计算机输入信息的设备,常用的输入设备有: (1)键盘---人向计算机输入信息最基本的设备; (2)鼠标器----一种光标指点设备; (3)触摸屏----一种坐标定位设备...