JAVA中如何取当前月的最大天数?如1月份是31天,2月是28天,3月是30天
解决方案 »
- 已知用户名和密码,如何通过java复制局域网某台机子的文件?
- 静态内部类-强制转换时出错?
- 为何这句编码放在try外面会出错?String urlStr = URLEncoder.encode(message, "utf-8"));
- 关于JAVA反射的问题
- 一个Date型的日期减去一个int的天数、得到另一个日期。这个怎么做啊?
- 请教关于JAVA 2D的问题!!
- 在JBUILD中怎么写纯JAVA程序
- 如果将Java编译好的类文件打包成一个可执行文件啊?
- jaxp的迷惑!! NoClassDefFoundError!
- 问几个最基本的问题
- 很简单的字符串替换问题
- 请问java类里有没有一种函数把一个用逗号区分的String 变量以逗号为标记把数取出来?
但是我有个很麻烦主意:就是用Java连接Oracle,然后查询Oralce的日期函数,
就能返回了!
在 ADDDAY -1, 得到DAY OF MONTH 即可
calendar.set(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
1);
calendar.roll(Calendar.DATE, false);
System.out.println(calendar.get(Calendar.DATE));
{
int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if( 2 == month && 0 == (year % 4) && ( 0 != (year % 100) || 0 == (year % 400) ) ) {//判断?年,当 month = 2 ?才判断,以?少?算量
days[1] = 29;
}
return( days[month -1] );
}
{
int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if( 2 == month && 0 == (year % 4) && ( 0 != (year % 100) || 0 == (year % 400) ) ) {
days[1] = 29;
}
return( days[month -1] );
}
这个方法简单通用,有需要的朋友拿去用好了
int d = c.getActualMaximum(Calendar.DAY_OF_MONTH)
有这个方法getActualMaximum()
=====================
Calendar cal = new GregorianCalendar();int year_days = cal.getActualMaximum(Calendar.DAY_OF_YEAR );
int month_days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
可能出现的最大天数:
===================int month_days = cal.getMaximum(Calendar.DAY_OF_MONTH);
// 这种方式不随当前日期的影响,如果取 2 月份,总是的到 29
在给 Calendar 指定月份时要注意:
===============================Java 中的月份,0 - 表示1月份, ..... 11 - 表示12月份,不要搞错了哟
保险的方式是,使用常量:Calendar.JANUARY ...
以下是伪码:public int isLeapYear(int year){
判断闰年,如果是闰年则返回1,否则返回0
}public int getMonthDay(int year,int month){ int[] month_day = {{31,28,31,40,31,30,31,31,30,31,30,31},
{31,28,31,40,31,30,31,31,30,31,30,31}}; return month_day[isLeapYear(year)][month-1];}
int[] month_day = {{31,28,31,40,31,30,31,31,30,31,30,31},
{31,29,31,40,31,30,31,31,30,31,30,31}};
可以.