日期类

加减:

    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
posted @ 2018-03-30 10:21  游园拾忆  阅读(39)  评论(0编辑  收藏  举报