* Calendar,Date
1.获取上个月的今天
2.获取这个月的最后一天是几号
3.将字符串转化为Date
4.今天是星期几
1.获取上个月的今天
java.text.DecimalFormat df=new java.text.DecimalFormat("00");
Calendar c=Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.MONTH,-1); //当月是0上个月就是-1
String year=String.valueOf(c.get(Calendar.YEAR));
String month=df.format(c.get(Calendar.MONTH)+1);//0是代表1月份,所以+1
String pay_scope = year+month;
2.获取这个月的最后一天是几号
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR, 2012);
c.set(Calendar.MONTH, 1);
int end=c.getActualMaximum(Calendar.DAY_OF_MONTH); //DAY_OF_MONTH就是这个月的最后一天如果是DAY_OF_YEAR就是这年得最后一天
int begin=c.getActualMinimum(Calendar.DAY_OF_MONTH);
3.将字符串转化为Date
java.text.SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
//(1)util.Date算法
sdf.parse("2013-01-01");
//(2)sql.Date算法
java.sql.Date.valueOf("2013-01-01");
4.今天是星期几
java.text.SimpleDateFormat sdf=new SimpleDateFormat("E");
sdf.format(new Date());
//如果是"F" 则显示5,
5.计算两个日期中间相隔几天
//(1).传入Calendar
public static int getInterval(Calendar start,Calendar end){
if(start.after(end)){
Calendar temp=start;
start=end;
end=temp;
}
int days=end.get(Calendar.DAY_OF_YEAR)-start.get(Calendar.DAY_OF_YEAR);
if(start.get(Calendar.YEAR)!=end.get(Calendar.YEAR)){
do{
days+=start.getActualMaximum(Calendar.DAY_OF_YEAR);
start.add(Calendar.YEAR, +1);
}while(start.get(Calendar.YEAR)!=end.get(Calendar.YEAR));
}
return days;
}
//(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));
}