怎样得到当前月份的天数(Java)

怎样得到当前月份的天数(Java),第1张

public static int getDayOfMonth(){

Calendar aCalendar = CalendargetInstance(LocaleCHINA);

int day=aCalendargetActualMaximum(CalendarDATE);

return day;

}

这是获取的一个月的最大的天数。。。。

package testString;

import javatextParseException;

import javatextSimpleDateFormat;

import javautilDate;

public class aaaa {

public static void main(String[] args) throws ParseException {

String date1="2003-03-12";

String date2="2005-01-12";

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");

long l_date1=sdfparse(date1)getTime();

long l_date2=sdfparse(date2)getTime();

int day=(int)((l_date2-l_date1)/(1000606024));

Systemoutprintln(day);

}

}

int y; // year可以随便设定

int m; //month可以随便设定

int d=0; //day设默认

int i=0;

for(i < 2000; i++){

if(y==4i){

switch [m]{

case '2'

return d=29;

break;

case '1'

case '3'

case '5'

case '7'

case '8'

case '10'

case '12'

return d=31;

default: return d=30;

}

}

else{

switch [m]{

case '2'

return d=28;

break;

case '1'

case '3'

case '5'

case '7'

case '8'

case '10'

case '12'

return d=31;

default: return d=30;

扩展质料:

switch语句执行时会从上到下根据括号中表达式的值作比较,当某个case语句中的表达式与此值相同时,就执行这个case语句或语句序列,直到遇到break为止。 break语句是必须有的,它用来结束switch语句的执行。

如果所有case语句后面的表达式都不等于switch语句的表达式expr1的值川0执行default后面的默认语句序列。不过,default部分是可选的。如果没有这一部分,并遇到所有case语句都不匹配,那么,就不作任何处理而进入后续程序段的执行。

可见,一个switch语句可以代替多个if-else语句组成的分支结构,而switch语句从思路上显得更清晰。

使用switch语句时,要注意expr1必须是符合byte,char,short,int类型的常量表达式,而不能用浮点类型或long类型,//(也不能为一个字符串)。

参考资料:

switch-百度百科

import javaio;

import javautilScanner;

class DayTest

{

public static void main(String []args)throws IOException

{

int year = -1;

int month = -1;

Scanner in = new Scanner(Systemin);

Systemoutprintln("请输入年");

year = innextInt();

Systemoutprintln("请输入月");

month = innextInt();

Systemoutprintln(year+"年"+month+"月有"+days(year,month)+"天");

}

public static int days(int year,int month)

{

int days = 0;

if(month!=2)

{

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:days = 31 ;break;

case 4:

case 6:

case 9:

case 11:days = 30;

}

}

else

{

if(year%4==0 && year%100!=0 || year%400==0)

days = 29;

else days = 28;

}

return days;

}

}

我做过测试了完全正确分给我吧嘻嘻!

import javautilCalendar;

public class Du {

public static void main(String[] args) {

String date = "2011-01-12";

int[] daysInMonth = getMonthDays(date);

for(int value: daysInMonth){

Systemoutprint(value + " ");

}

}

private static int[] getMonthDays(String date) {

Calendar calendar = CalendargetInstance();

calendarset(CalendarYEAR, IntegerparseInt(datesubstring(0, 4)));

calendarset(CalendarMONTH, IntegerparseInt(datesubstring(5, 7)) -1);

int maxDay = calendargetActualMaximum(CalendarDAY_OF_MONTH);

int[] days = new int[maxDay];

for(int i = 1; i <= maxDay; i++){

days[i-1] = i;

}

return days;

}

}

-----------------

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

好了,你试一下

import javautil;

class Test

{

public static void main(String[] args)

{

try

{

Scanner in=new Scanner(Systemin);

Systemoutprint("请输入年份:");

int year=innextInt();

Systemoutprint("请输入月份:");

int month=innextInt();

if(year<0 || month<0)

Systemoutprintln("你输入的年份或月份为负,请输入正整数");

int day=28;

GregorianCalendar gc=new GregorianCalendar(year,month-1,day);

Systemoutprintln(gcget(CalendarMONTH)+" "+gcget(CalendarDAY_OF_MONTH));

while((month-1)==gcget(CalendarMONTH))

{

gcadd(CalendarDAY_OF_MONTH,1);

day++;

}

Systemoutprintln("该月的总天数为:"+(--day));

}

catch(Exception ex)

{

Systemoutprintln("您输入了非法字符,程序退出,请输入正整数");

}

}

}

以上就是关于怎样得到当前月份的天数(Java)全部的内容,包括:怎样得到当前月份的天数(Java)、java怎么算出某一个月到某一个月的具体天数、用switch语句编写JAVA程序,实现输入年份,月份,显示该月天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/10173596.html

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

发表评论

登录后才能评论

评论列表(0条)

保存