日期类
加减:
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
String str="20110823";
Date dt=sdf.parse(str); //String 转 Date
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR,-1);//日期减1年
rightNow.add(Calendar.MONTH,3);//日期加3个月
rightNow.add(Calendar.DAY_OF_YEAR,10);//日期加10天
Date dt1=rightNow.getTime();
String reStr = sdf.format(dt1); //日期 转 String
System.out.println(reStr);
获取日期:
public class DateTest {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
System.out.println("当前日期:"+sdf.format(calendar.getTime()));
calendar.set(Calendar.DATE, 1);//将今天设为1号
System.out.println("当前月1号:"+sdf.format(calendar.getTime()));
calendar.add(Calendar.MONTH, -1);
System.out.println("前一月1号:"+sdf.format(calendar.getTime()));
Calendar calendar_a=Calendar.getInstance();
calendar_a.set(Calendar.DATE, 1);//设为1号
calendar_a.set(Calendar.MONTH,0);//一月 从0开始
System.out.println("年的第一天:"+sdf.format(calendar_a.getTime()));
Calendar calendar_b=Calendar.getInstance();
int firstDay = calendar_b.get(Calendar.DAY_OF_WEEK) - 1;//第一天是星期日、减一
System.out.println("当前日期是本周第几天:"+firstDay);
calendar_b.add(Calendar.DATE, -firstDay + 1);
System.out.println("本周的第一天"+sdf.format(calendar_b.getTime()));
calendar_b.add(Calendar.WEEK_OF_MONTH, -1);
System.out.println("前一周的第一天"+sdf.format(calendar_b.getTime()));
}
}
比较:
Date a;
Date b;
a.after(b)返回一个boolean,如果a的时间在b之后(不包括等于)返回true
b.before(a)返回一个boolean,如果b的时间在a之前(不包括等于)返回true
a.equals(b)返回一个boolean,如果a的时间和b相等返回true
compareTo :比较时间大小,相等返回0,大于返回1,小于返回-1