import java.util.Calendar; public class DaysOfMonth{ public static void main(String [] args){ Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,2006); calendar.set(Calendar.MONTH,6); System.out.println("DAY_OF_MONTH :" + calendar.getMaximum(Calendar.DAY_OF_MONTH )); System.out.println("DATE :" + calendar.getMaximum(Calendar.DATE )); } }
/** * 根据年月判断当前月的日期天数 * @param s String 格式为 yyyy-MM的日期字符串 * @return int 当月天数 * @throws ParseException */ public static int getDaysByMonth(String s) throws ParseException { SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM") ; Date d = sf.parse(s); Calendar c = Calendar.getInstance(); c.setTime(d); c.add(Calendar.MONTH, 1); //加1月 c.add(Calendar.DATE, -1); //减1日 return c.get(Calendar.DATE); }
import java.util.Calendar; public class DaysOfMonth{ public static void main(String [] args){ Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR,2000); calendar.set(Calendar.MONTH,2); System.out.println("DAY_OF_MONTH :" + calendar.getLeastMaximum(Calendar.DAY_OF_MONTH )); System.out.println("DATE :" + calendar.getLeastMaximum(Calendar.DATE )); } } sorry,搞错了。应该是这个。
ok,thanks to :lye2000000_super(我自横刀香甜笑) and kevinliuu(@。@)
我刚才看了看Calendar,好像没这么麻烦 /** * 本方法返回某年某月的天数 * @param year int * @param month int * @return int */ public static int testDate(int year,int month){ java.util.Calendar cal=java.util.Calendar.getInstance(); cal.set(year,month,0,0,0,0);
输入的正确格式 java InputDate <xxxx>(年) <xx>(月)"
*/import java.util.Calendar;
import java.util.GregorianCalendar;class OutputDate{
private int year;
private int month;
public OutputDate( int year, int month ) {
this.year = year;
this.month = month;
}
private String checkMonth() {
String[] months = { "1 月","2 月","3 月","4 月",
"5 月","6 月","7 月","8 月",
"9 月","10 月","11 月","12 月" };
return months[month];
}
private int checkDays() {
int[] Days = { 31, 28, 31, 30,
31, 30, 31, 31,
30, 31, 30, 31 };
return Days[month];
}
public void printDate() {
GregorianCalendar gc = new GregorianCalendar( year, month, 1 );
int week = gc.get( Calendar.DAY_OF_WEEK ) - 1; System.out.println( "\t\t\t" + year + " 年 " + checkMonth() );
System.out.println();
System.out.println( "\t日\t一\t二\t三\t四\t五\t六" );
for( int i = 0; i < week; i++ ) {
System.out.print( "\t" );
}
for( int i = 1; i <= checkDays(); i++ ) {
if( i <= 9 )
System.out.print( "\t " + i );
else
System.out.print( "\t" + i );
if(( i + week ) % 7 == 0 ) {
System.out.println();
}
}
}
}public class DateInformation {
public static void main( String[] args ) {
int year, month;
Calendar cal = Calendar.getInstance();
if( args.length == 2 ) {
year = Integer.parseInt( args[0] );
month = Integer.parseInt( args[1] ) - 1;
}
else{
year = cal.get( Calendar.YEAR );
month = cal.get( Calendar.MONTH );
}
OutputDate di = new OutputDate( year, month );
di.printDate();
}
}
private int checkDays() {
int[] Days = { 31, 28, 31, 30,
31, 30, 31, 31,
30, 31, 30, 31 };
return Days[month];
}
那2004年2月就不对了,他有29天的!
To kevinliuu@.@
public class DaysOfMonth{
public static void main(String [] args){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2006);
calendar.set(Calendar.MONTH,6);
System.out.println("DAY_OF_MONTH :" + calendar.getMaximum(Calendar.DAY_OF_MONTH ));
System.out.println("DATE :" + calendar.getMaximum(Calendar.DATE ));
}
}
* 根据年月判断当前月的日期天数
* @param s String 格式为 yyyy-MM的日期字符串
* @return int 当月天数
* @throws ParseException
*/
public static int getDaysByMonth(String s)
throws ParseException
{
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM") ;
Date d = sf.parse(s);
Calendar c = Calendar.getInstance();
c.setTime(d);
c.add(Calendar.MONTH, 1); //加1月
c.add(Calendar.DATE, -1); //减1日
return c.get(Calendar.DATE);
}
public class DaysOfMonth{
public static void main(String [] args){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,2000);
calendar.set(Calendar.MONTH,2);
System.out.println("DAY_OF_MONTH :" + calendar.getLeastMaximum(Calendar.DAY_OF_MONTH ));
System.out.println("DATE :" + calendar.getLeastMaximum(Calendar.DATE ));
}
}
sorry,搞错了。应该是这个。
* 本方法返回某年某月的天数
* @param year int
* @param month int
* @return int
*/
public static int testDate(int year,int month){
java.util.Calendar cal=java.util.Calendar.getInstance();
cal.set(year,month,0,0,0,0);
return cal.DATE;
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class TestMonth {
public static void main(String[] args) throws ParseException {
// 设置日期表现样式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
// 输入的日期
String str = "2006-08-03";
// 对应的Date实例
Date date = format.parse(str);
// 获得Calendar实例
Calendar calendar = Calendar.getInstance();
// 根据date赋值
calendar.setTime(date);
// 计算是当月的第几天
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.printf("输入的日期是当月的第%d天\n", dayOfMonth);
// 计算当月的第一天
calendar.add(Calendar.DATE, 1 - dayOfMonth);
System.out.printf("当月的第一天是%s\n", format.format(calendar.getTime()));
// 计算下月的第一天
calendar.add(Calendar.MONTH, 1);
System.out.printf("下月的第一天是%s\n", format.format(calendar.getTime()));
// 计算当月的最后一天
calendar.add(Calendar.DATE, -1);
System.out.printf("当月的最后一天是%s\n", format.format(calendar.getTime()));
// 计算是当月一共几天
dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.printf("当月一共%d天\n", dayOfMonth);
}
}