JAVA代码中日期获取参考

一、 根据日期获取周一与周日的拼接(yyyyMMdd_MMdd)格式

public static String getWeekStrByDate(Date date) {

    Calendar cal = Calendar.getInstance();

    cal.setTime(date);

    // 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了 

        // 获得当前日期是一个星期的第几天 

        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);

        if (1 == dayWeek) { 

            cal.add(Calendar.DAY_OF_MONTH, -1); 

        } 

        // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 

        cal.setFirstDayOfWeek(Calendar.MONDAY);

        // 获得当前日期是一个星期的第几天 

        int day = cal.get(Calendar.DAY_OF_WEEK);

        // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值 

        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);

        //获取周一的年月日

        String weekStr = new SimpleDateFormat("yyyyMMdd").format(cal.getTime());

        //代表周日

        cal.add(Calendar.DATE, 6); 

        weekStr+="_"+new SimpleDateFormat("MMdd").format(cal.getTime());

        return weekStr;

}

二、获取当前时间是周几

public static int getWeekNum() {

      Calendar cal = Calendar.getInstance();

      int w=cal.get(Calendar.DAY_OF_WEEK)-1;

if(w==0) {

w=7;

}

return w;

  }

三、根据日期获取获取未来第 past天的日期

past为负数代表是之前,为正数代表是未来

public static Date getFetureDate(Date date,int past) {

        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);

        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);

        return calendar.getTime();

    }

四、获得当前周: 周一的日期

public static Date getCurrentMondayDate() {

int mondayPlus = getMondayPlus();

GregorianCalendar currentDate = new GregorianCalendar();

currentDate.add(GregorianCalendar.DATE, mondayPlus);

return currentDate.getTime();

}

五、获得当前周:周日的日期

public static Date getPreviousSundayDate() {

int mondayPlus = getMondayPlus();

GregorianCalendar currentDate = new GregorianCalendar();

currentDate.add(GregorianCalendar.DATE, mondayPlus + 6);

return currentDate.getTime();

}

你可能感兴趣的:(JAVA代码中日期获取参考)