日期计算相关

来源:互联网 发布:java中的各种模式 编辑:程序博客网 时间:2024/05/22 07:50
    public static String getNextMonday() {        Calendar cal = Calendar.getInstance();         int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天        //判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了        if (1 == dayWeek) {            cal.add(Calendar.DAY_OF_MONTH, -1);        }        //n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推        int n =1;        String monday;        cal.add(Calendar.DATE, n*7);        //想周几,这里就传几Calendar.MONDAY(TUESDAY...)        cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);        monday = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());        return monday;    }    public static String getCurrentMonday() {        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");        Calendar c = Calendar.getInstance();        int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1;        if (day_of_week == 0)            day_of_week = 7;        c.add(Calendar.DATE, -day_of_week + 1);        return df.format(c.getTime());    }    public static String getNextDay(String date,int plus) {        Calendar calendar = Calendar.getInstance();        String[] data = date.split("-");        calendar.set(Integer.parseInt(data[0]), Integer.parseInt(data[1])-1, Integer.parseInt(data[2]));        calendar.add(Calendar.DAY_OF_YEAR, 1 + plus);        return calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH)+1) + "-" + calendar.get(Calendar.DAY_OF_MONTH);    }
0 0