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类型,//(也不能为一个字符串)。
参考资料:
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程序,实现输入年份,月份,显示该月天数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)