输入年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月份的闰年的主要内容,如果未能解决你的问题,请参考以下文章

输入年 月 日 ,计算时该年的第几天

python给出年/月/日计算是此年的多少天?

js 获取一个月有多少天的方式

输入年份,和这个年份的第几天,转成年月日。

日期0702Python练习004

普通万年历效果