用C语言做一个台历,键盘输入的年号和月号,输出该年该月总天数

用C语言做一个台历,键盘输入的年号和月号,输出该年该月总天数,第1张

#include "Stdioh"

int main(void)

{ int year,month;

printf("Enter year and month:\n");

scanf("%d,%d",&year,&month);

if(month<1||month>12) printf("fault\n");

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: printf("31 days in this month\n"); break;

case 4:

case 6:

case 9:

case 11:printf("30 days in this month\n");break;

case 2: if((year%4 ==0 && year %100!=0) || (year%400==0))printf("29 days in this month\n");

else printf("28 days in this month\n");

}

return 0;

}

你也太吝啬了,请他人帮忙时一点儿悬赏分都没有。足见你没什么诚意。不过我也闲来无事,就帮你个忙。呵呵~

select to_char(last_day(sysdate),'dd') from dual

也可以将sysdate替换为任意时间,以计算当天所在月份天数

甲骨文公司简介:

oracle一般指甲骨文公司

甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。甲骨文股份有限公司于1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构。 2016年1月,甲骨文表示会收购网站数据追踪服务商AddThis。2016年2月,甲骨文收购了云计算创业公司Ravello Systems。2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。

代码实现如下:

package test01;

import javautilCalendar;

/

@author 码灵

20170905

/

public class GetDay {

public static void main(String[] args) {

int currentMaxDays = getCurrentMonthDay();

int maxDaysByDate = getDaysByYearMonth(2017, 9);

Systemoutprintln("本月天数:" + currentMaxDays);

Systemoutprintln("2017年9月天数:" + maxDaysByDate);

}

/

获取当月的 天数

/

public static int getCurrentMonthDay() {

Calendar a = CalendargetInstance();

aset(CalendarDATE, 1);

aroll(CalendarDATE, -1);

int maxDate = aget(CalendarDATE);

return maxDate;

}

/

根据年 月 获取对应的月份 天数

/

public static int getDaysByYearMonth(int year, int month) {

Calendar a = CalendargetInstance();

aset(CalendarYEAR, year);

aset(CalendarMONTH, month - 1);

aset(CalendarDATE, 1);

aroll(CalendarDATE, -1);

int maxDate = aget(CalendarDATE);

return maxDate;

}

}

按照你的要求,如何得到一个月有多少天,这里并没有说是什么年份,所以默认当年(不同年份的月份天数可能不一样,例如闰年的二月)

因此问题变为

输入条件:指定某一个月

输出结果:当年这个月份的天数

思路:在Java8里新的时间API里,月份已经被抽象成了枚举Month,所以可以把输入条件定义为枚举类型的Month,然后获取当前时间X,把时间X的月份修改为输入条件的月份,此时时间X变为X1,根据本身提供的方法lengthOfMonth就可以直接得到X1所在当月的天数了

代码:(请将JDK升到8

public static void main(String[] args) {

    Systemoutprintln(countDaysInMonth(MonthMAY));

}

public static int countDaysInMonth(Month month){

    // 获取当前时间

    LocalDate now = LocalDatenow();

    Systemoutprintln(now);

    // 把当前时间的月份修改为输入的月份

    LocalDate thisMonthDate = nowwithMonth(monthgetValue());

    Systemoutprintln(thisMonthDate);

    return thisMonthDatelengthOfMonth();

}

也可以连着写,更美观点

public static int countDaysInMonth(Month month){

    return LocalDatenow()

                    withMonth(monthgetValue())

                    lengthOfMonth();

}

非常直观且易懂好用,在Java8里with就代表着修改意思,withMonth那就是修改月份,所以整个代码读下来就变成

获取当前时间A

修改A的月份为输入条件得到时间B

计算B所在月的天数

=NETWORKDAYS(DATE(YEAR(NOW()),MONTH(NOW()),1),DATE(YEAR(NOW()),MONTH(NOW())+1,))

这个是本月除星期六、星期天后的天数。

真正的工作日数还应该减除本月的法定假,如春节、五一、国庆等。

楼上正解,不过楼主问出这个问题可能也是初学者,我就提供一下用简单语法的代码吧

public

static

void

main(String[]

args)

{

Scanner

scan=new

Scanner(Systemin);

Systemoutprintln("请输入年份");

int

year=

scannextInt();//得到需求年份

Systemoutprintln("请输入月份");

int

month=scannextInt();//得到需求月份

switch(month){

case

1:

case

3:

case

5:

case

7:

case

8:

case

10:

case

12:

Systemoutprintln(year+"年"+month+"月的天数为:"+31);

break;

case

4:

case

6:

case

9:

case

11:

Systemoutprintln(year+"年"+month+"月的天数为:"+30);

case

2:

if((year%400)==0

||

((year%4)==0)&&((year%100)!=0)){

Systemoutprintln(year+"年2月的天数为:"+29);

}else{

Systemoutprintln(year+"年2月的天数为:"+28);

}

}

}

php获取指定月份天数, php根据日期获取该月天数。今天给大家推荐三种方法,直接上代码:

方法一:

$days = date("t");

echo "当前月的天数 "$days"<br/>";

方法二:

$days = date('t', strtotime("2030-12"));

echo "返回2030年12月的天数 "$days"<br/>";

另外还有一种方法是使用函数直接实现,可参考:>

以上就是关于用C语言做一个台历,键盘输入的年号和月号,输出该年该月总天数全部的内容,包括:用C语言做一个台历,键盘输入的年号和月号,输出该年该月总天数、ORACLE根据月份获取天数、java中 如何获取当月的天数,指定日期的月份天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10159143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存