输入年year月month 求这个月有几天 要注意2月份的闰年
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入年year月month 求这个月有几天 要注意2月份的闰年相关的知识,希望对你有一定的参考价值。
#include "stdio.h'main()
int year,month;
int day_r[12]=31,29,31,30,31,30,31,31,30,31,30,31;
int dar_p[12]=31,28,31,30,31,30,31,31,30,31,30,31;
printf("请输入年份和月份,用空格分隔:");
scanf("%d %d",&year,&month);
if(((year%4==0)&&(year%100!=0))||((year%100==0)&&(year%400!=0)))
printf("%d年%d月有%d天!",year,month,day_r[month-1]);
else
printf("%d年%d月有%d天!",year,month,day_p[month-1]);
getch();
好吧,我承认,我又慢了! 参考技术A #include <stdio.h>
int getDaysOfMonth(int year,int month)
int daysOfmongth[]=0,31,28,31,30,31,30,31,31,30,31,30,31;
// 闰年的二月份特别处理
if( (year%400==0||(year%4==0&&year%100!=0)) && month == 2)
return 29;
else
return daysOfmongth[month];
int main(int argc, char *argv[])
int year,month;
while(scanf("%d%d",&year,&month)!=EOF)
printf("%4d年%02d月有%2d天\n",year,month,getDaysOfMonth(year,month));
return 0;
参考技术B #include<stdio.h>
int main()
int monthday[12]=31,28,31,30,31,30,31,31,30,31,30,31;
int year,month;
scanf("%d-%d",&year,&month);
if((year%4 == 0 && year%100 !=0) || year%400 ==0)
monthday[1]++;
printf("%d days\n",monthday[month-1]);
getchar();
return 0;
运行效果:
2000-2
29 days 参考技术C #include <stdio.h>
int isleap(int year)
if(year%400 ==0)
return 1;
else if(year%4==0)
if(year%100!=0)
return 1;
else
return 0;
else
return 0;
int main()
int year,month,day;
int days_in_a_month[13]=0;
printf("please input year:month\n");
scanf("%d:%d",&year,&month);
days_in_a_month[1]=31;
days_in_a_month[3]=31;
days_in_a_month[5]=31;
days_in_a_month[7]=31;
days_in_a_month[8]=31;
days_in_a_month[10]=31;
days_in_a_month[12]=31;
days_in_a_month[4]=31;
days_in_a_month[6]=31;
days_in_a_month[9]=31;
days_in_a_month[11]=31;
days_in_a_month[2]=28;
if(1==isleap(year))
days_in_a_month[2]=29;
if(month<=12&&month>=1)
printf("the days is %d in this month\n",days_in_a_month[month]);
else
//error
return 2;
return 0;
java或js中如何计算距离今天的前(后)几天是年月日?
用Calendar - java.util.Calendar
Calendar cal = Calendar.newInstance();cal.add(Calendar.DAY_OF_MONTH, 3); // 增加3天 会进位 - 即4月30号+3会变成5月2号
cal.get(Calendar.DAY_OF_MONTH); // 日
cal.get(Calendar.MONTH); // 月
cal.get(Calendar.YEAR); // 年
// 如果要前几天就使用负值
cal.add(Calendar.DAY_OF_MONTH, -3);
// 同理也可以直接加减月份
cal.add(Calendar.MONTH, 1);
自己试试吧
另外如果你想拿到Date对象
Date date = cal.getTime();另外你还提到JS JS建议使用momentjs这个库 你可以在这里找到它 http://momentjs.com/
参考技术A Date date1 = new Date();Date date2 = new Date();
date2.setDate(date1.getDate() + 2);
System.out.println("date1===="+ date1 + "======date2="+ date2 );
看看行不行? 不过getDate()是废弃方法不建议使用, 你自己找找DateUtil相关方法去处理。 参考技术B 用GregorianCalendar gc=new GregorianCalendar();
gc.add(3,2);这个应该表示在周数上加2,然后使用gc.getTime();获取两周后的时间,你可以百度一下这个类的具体用法~
以上是关于输入年year月month 求这个月有几天 要注意2月份的闰年的主要内容,如果未能解决你的问题,请参考以下文章