1、计算某一月份的最大天数
Calendar time = Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,2012);
//calendar默认的一月是 0
time.set(Calendar.MONTH, 6);//July
//本月份的天数
int day = time.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("day = "+day);
注意:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
2、Calendar 和 Date 的转化
1) Calendar -->Date Calendar转化为Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
2) Date转化为Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);
3、格式化输出日期时间
Date date=new Date();
SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
String time=df.format(date);
System.out.println(time);
4、计算一年中的第几星期
1)计算某一天是一年中的第几星期
Calendar time = Calendar.getInstance();
time.set(Calendar.YEAR,2012);
//calendar默认的一月是 0
time.set(Calendar.MONTH, 0);//一月
time.set(Calendar.DAY_OF_MONTH, 10);
//本月份的天数
int week = time.get(Calendar.WEEK_OF_YEAR);
System.out.println("week = "+week);
2) 计算一年中的第几星期是几号
SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd”);
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2012);
cal.set(Calendar.WEEK_OF_YEAR, 1);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(df.format(cal.getTime()));
输出:
2012-01-02
6.计算两个任意时间中间的间隔天数(这个比较常用)
(1)传进Calendar对象
public int getIntervalDays(Calendar startday,Calendar endday)…{
if(startday.after(endday))…{
Calendar cal=startday;
startday=endday;
endday=cal;
}
long sl=startday.getTimeInMillis();
long el=endday.getTimeInMillis();
long ei=el-sl;
return (int)(ei/(1000*60*60*24));
}
(2)传进Date对象
public int getIntervalDays(Date startday,Date endday)…{
if(startday.after(endday))…{
Date cal=startday;
startday=endday;
endday=cal;
}
long sl=startday.getTime();
long el=endday.getTime();
long ei=el-sl;
return (int)(ei/(1000*60*60*24));
}
7. String 和 Date ,Long 之间相互转换 (最常用)
字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)
通常我们取时间跨度的时候,会substring出具体时间--long-比较
SimpleDateFormat sdf = new SimpleDateFormat("M/dd/yyyy hh:mm:ss ",Locale.CHINESE);
Date d = sdf.parse("5/13/2003 10:31:37 AM");
System.out.println("Date_d="+d);
long dvalue=d.getTime();
System.out.println("dvalue = "+dvalue);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mDateTime1=formatter.format(d);
System.out.println("str_date = "+mDateTime1);
来源于网址(鸣谢):http://www.cn-java.com/www1/?action-viewnews-itemid-106973