Calendar有关时间的工具方法

来源:互联网 发布:软件生命阶段 编辑:程序博客网 时间:2024/05/16 17:37
/** * 获取本月天数 */public static int getDaysOfMonth(Date date ){    Calendar cal=Calendar.getInstance();    cal.setTime(date);    return cal.getActualMaximum(cal.DAY_OF_MONTH);}/** * 获取日期中日 */public static int getDay0fDate(Date date){    DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");    String dateStr=dateFormat.format(date);    String[] str=dateStr.split("-");    return Integer.parseInt(str[2]);}/** * 获取下个月时间 */public static String getNextMonth(String time){    String[] str = time.split("-");    String month = "";    if (Integer.parseInt(str[1]) == 12) {        month = Integer.parseInt(str[0]) + 1 + "-01";    } else if (Integer.parseInt(str[1]) < 9) {        month = str[0] + "-0" + (Integer.parseInt(str[1]) + 1);    } else {        month = str[0] + "-" + (Integer.parseInt(str[1]) + 1);    }    return month;}/** * 获取n个月之前的月份 * */public static Date getLastMonth(Date date,int num){  Calendar calendar=Calendar.getInstance();    calendar.setTime(date);   calendar.add(calendar.MONTH,-num);    return calendar.getTime();}/** * 获取两个时间之间的月数 */public static int getMonthSpace(Date fromDate,Date toDate){    Calendar calendar1=Calendar.getInstance();    Calendar calendar2=Calendar.getInstance();    calendar1.setTime(fromDate);    calendar2.setTime(toDate);    int a=calendar1.get(Calendar.MONTH);    int b=calendar2.get(Calendar.MONTH);    int result=0;    if(calendar1.get(Calendar.YEAR)==calendar2.get(Calendar.YEAR)){         result=calendar2.get(Calendar.MONDAY)-calendar1.get(Calendar.MONTH);    }else {        int year=calendar2.get(Calendar.YEAR)-(calendar1.get(Calendar.YEAR));        if(year==1){            result=calendar2.get(Calendar.MONTH)+(12-calendar1.get(Calendar.MONTH));        }    }    result=Math.abs(result);    return result;}/** * 获取两个时间的天数 */public static int getDaysSpace(Date fromDate,Date toDate){    Calendar calendar1=Calendar.getInstance();    Calendar calendar2=Calendar.getInstance();    calendar1.setTime(fromDate);    calendar2.setTime(toDate);    int result= ((int)(calendar2.getTime().getTime()/1000)-(int)(calendar1.getTime().getTime()/1000))/3600/24;    return result;}/** * 获取一天后的时间 */public static Date getAfterOneDay(Date date){    Calendar  calendar=Calendar.getInstance();    calendar.setTime(date);    calendar.add(Calendar.DAY_OF_MONTH,+1);    return calendar.getTime();}/** * 判断是否是月尾 */public static boolean isLastOfMonth(Date date ){    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    calendar.set(Calendar.DATE, (calendar.get(Calendar.DATE) + 1));    if (calendar.get(Calendar.DAY_OF_MONTH) == 1) {        return true;    }    return false;}/** * 判读是否是一号 */public static boolean isFirstOfMonth(Date date){  Calendar calendar=Calendar.getInstance();    calendar.setTime(date);    if(calendar.get(Calendar.DAY_OF_MONTH) == 1){        return true;    }    return false;};/** * 获取这个月最后一天 */public  static Date getLastDayOfMonth(Date date){    Calendar calendar=Calendar.getInstance();    calendar.setTime(date);    calendar.set(Calendar.DATE,calendar.getActualMaximum(Calendar.DATE));    return  calendar.getTime(); }
0 0
原创粉丝点击