Java时间工具类

废话不多说 直接上代码

时间工具类
public class DateUtils {
 

	/**
	 * 输入时间戳变星期
	 * 
	 * @param time
	 * @return
	 */
	public static String changeweekOne(String time) {
		SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		long lcc = Long.valueOf(time);
		int i = Integer.parseInt(time);
		String times = sdr.format(new Date(i * 1000L));
		Date date = null;
		int mydate = 0;
		String week = null;
		try {
			date = sdr.parse(times);
			Calendar cd = Calendar.getInstance();
			cd.setTime(date);
			mydate = cd.get(Calendar.DAY_OF_WEEK);
			// 获取指定日期转换成星期几
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if (mydate == 1) {
			week = "星期日";
		} else if (mydate == 2) {
			week = "星期一";
		} else if (mydate == 3) {
			week = "星期二";
		} else if (mydate == 4) {
			week = "星期三";
		} else if (mydate == 5) {
			week = "星期四";
		} else if (mydate == 6) {
			week = "星期五";
		} else if (mydate == 7) {
			week = "星期六";
		}
		return week;
 
	}
 
	
	/**
	 * 输入日期如(2014-06-14 16:09:00)返回(星期数)
	 * 
	 * @param time
	 * @return
	 */
	public String week(String time) {
		Date date = null;
		SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		int mydate = 0;
		String week = null;
		try {
			date = sdr.parse(time);
			Calendar cd = Calendar.getInstance();
			cd.setTime(date);
			mydate = cd.get(Calendar.DAY_OF_WEEK);
			// 获取指定日期转换成星期几
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		if (mydate == 1) {
			week = "星期日";
		} else if (mydate == 2) {
			week = "星期一";
		} else if (mydate == 3) {
			week = "星期二";
		} else if (mydate == 4) {
			week = "星期三";
		} else if (mydate == 5) {
			week = "星期四";
		} else if (mydate == 6) {
			week = "星期五";
		} else if (mydate == 7) {
			week = "星期六";
		}
		return week;
	}
 
	/** 
	 *判断两个时间的大小
	 *
     * @param date1
     * @param date2
     * @return 1 大于 -1 小于 0 相等
     */
    public static int compare(Date date1, Date date2) {
        try {
            if (date1.getTime() > date2.getTime()) {
                return 1;
            } else if (date1.getTime() < date2.getTime()) {
                return -1;
            } else {
                return 0;
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 0;
    }

	 /**
     * 
     * 根据月份判断
     *
     * @param date1
     * @param date2
     * @return 1 大于 -1 小于 0 相等
     */
    public static int compareMonth(Date date1, Date date2) {
        try {
            if (date1.getMonth() > date2.getMonth()) {
                return 1;
            } else if (date1.getMonth() < date2.getMonth()) {
                return -1;
            } else {
                return 0;
            }
        } catch (Exception exception) {
            exception.printStackTrace();
        }
        return 0;
    }

    /**
     * 获取当时日期时间串 格式 yyyy-MM-dd HH:mm:ss
     *
     * @return
     */
    public static final DateFormat YYYY_MM_DD_MM_HH_SS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    public static String getDateTime() {
        return YYYY_MM_DD_MM_HH_SS.format(new Date());
    }

   /**
     * 日期字符串  格式 yyyy-MM-dd HH:mm:ss 转Date
     * 
     * 
     * @param dateString 
     * @return
     * @throws Exception
     */
    public static Date stringToDate(String dateString) throws Exception {
        return YYYY_MM_DD_MM_HH_SS.parse(dateString);
    }
	
	 /**
     * 获取当时日期串 格式 yyyy-MM-dd
     *
     * @return
     */
    public static final DateFormat YYYY_MM_DD = new SimpleDateFormat("yyyy-MM-dd");
    public static String getStringDate() {
        return YYYY_MM_DD.format(new Date());
    }
    
    /**
     * 获取当前时间 格式 yyyy-MM-dd
     * 
     * @return 
     */
    public static Date getDate() {
        return strToYYMMDDDate(YYYY_MM_DD.format(new Date()));
    }
     public static Date strToYYMMDDDate(String dateString) {
        Date date = null;
        try {
            date = YYYY_MM_DD.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

	 /**
     * 获取当前时间 与  过去时间的天数
     * 
     * @param startDate  过去的时间
     * @param endDate 当前的时间
     * @return
     */
    public static long diffDays(Date startDate, Date endDate) {
        long days = 0L;
        long start = startDate.getTime();
        long end = endDate.getTime();
        days = (end - start) / 86400000L;
        return days;
    }

	/**
     * 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014-06-14  16:09:00")
     *
     * @param time
     * @return String
     */
    public static String timeStr(String time) {
        long lcc = Long.valueOf(time);
        String times = YYYY_MM_DD_MM_HH_SS.format(new Date(lcc));
        return times;
    }

	 /**
     * 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014-06-14  16:09:00")
     * 
     * @param time 
     * @return Date
     */
    public static Date timedate(String time) {
        long lcc = Long.valueOf(time);
        String times = YYYY_MM_DD_MM_HH_SS.format(new Date(lcc));
        return strToDate(times);
    }
    public static Date strToDate(String dateString) {
        Date date = null;
        try {
            date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

	 /**
     * 月加
     * 
     * @param date  时间
     * @param month 加几个月
     * @return
     */
    public static Date dateAddMonth(Date date, int month) {
        return add(date, 2, month);
    }

    /**
     * 日加
     * 
     * @param date 时间
     * @param day 加几天
     * @return
     */
    public static Date dateAddDay(Date date, int day) {
        return add(date, 6, day);
    }

    /**
     * 年加
     * 
     * @param date 时间
     * @param year 加几年
     * @return
     */
    public static Date dateAddYear(Date date, int year) {
        return add(date, 1, year);
    }
	private static Date add(Date date, int type, int value) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(type, value);
        return calendar.getTime();
    }

	/**
     * 根据传入的时间 获取第day 天的时间
     * 
     * @param dateString 
     * @param day
     * @return
     */
    public static String dateAddDay(String dateString, int day) {
        Date date = strToYYMMDDDate(dateString);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(6, day);
        return YYYY_MM_DD.format(calendar.getTime());
    }
	public static Date strToYYMMDDDate(String dateString) {
        Date date = null;
        try {
            date = YYYY_MM_DD.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 根据当前的时间 获取第day 天的时间
     * 
     * @param day 
     * @return
     */
    public static String dateAddDay(int day) {
        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(6, day);
        return YYYY_MM_DD.format(calendar.getTime());
    }
	
	  /**
     * 根据当前的时间 获取第month 月的时间
     * 
     * @param month 
     * @return
     */
    public static String dateAddMonth(int month) {
        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(2, month);
        return YYYY_MM_DD.format(calendar.getTime());
    }

	/**
     * 判断两个时间 是否过期
     * 
     * @param startDate 
     * @param endDate
     * @return
     */
    public static String remainDateToString(Date startDate, Date endDate) {
        StringBuilder result = new StringBuilder();
        if (endDate == null) {
            return "过期";
        }
        long times = endDate.getTime() - startDate.getTime();
        if (times < -1L) {
            result.append("过期");
        } else {
            long temp = 86400000L;
            long d = times / temp;

            times %= temp;
            temp /= 24L;
            long m = times / temp;

            times %= temp;
            temp /= 60L;
            long s = times / temp;

            result.append(d);
            result.append("天");
            result.append(m);
            result.append("小时");
            result.append(s);
            result.append("分");
        }
        return result.toString();
    }

	 /**
     * 获取当前时间 
     * 
     * @return  Date
     */
    public static Date getCurrentDate() {
        return new Date();
    }

	 /**
     * 获取时间戳
     *
     * @return
     */
    public static long getTimeMillis() {
        return System.currentTimeMillis();
    }

	/**
     * 根据时间判断是周几
     * 
     * @param date 
     * @return
     */
    public static String getWeekDay(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
        switch (dayOfWeek) {
            case 1:
                return "周日";
            case 2:
                return "周一";
            case 3:
                return "周二";
            case 4:
                return "周三";
            case 5:
                return "周四";
            case 6:
                return "周五";
            case 7:
                return "周六";
        }
        return "";
    }

	 /**
     * 将GMT 格式的时间 转换为 字符串
     * 
     * @param date 
     * @return
     */
    public static String toGMTString(Date date) {
        SimpleDateFormat df = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", Locale.UK);
        df.setTimeZone(new java.util.SimpleTimeZone(0, "GMT"));
        return df.format(date);
    }

	/**
     * 得到当前时间与某个时间的差的分钟数
     *
     * @param date
     * @return
     */
    public static BigDecimal diffMinute(Date date) {
        return BigDecimalUtil.div(new BigDecimal(System.currentTimeMillis() - date.getTime()), new BigDecimal
                ("60000"));
    }

	/**
     * 获取过去第几天的日期
     *
     * @param past
     * @return
     */
    public static String getPastDate(int past) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
        Date today = calendar.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String result = format.format(today);
        return result;
    }

    /**
     * 获取未来 第 past 天的日期
     *
     * @param past
     * @return
     */
    public static String getFetureDate(int past) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);
        Date today = calendar.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String result = format.format(today);
        return result;
    }
    
	 /**
     * 获取过去 第day 的时间
     * 
     * @param date 
     * @param day
     * @return
     */
    public static Date getDate(Date date, int day) {
        synchronized (YYYY_MM_DD) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.DAY_OF_MONTH, -day);
            date = calendar.getTime();
            try {
                return YYYY_MM_DD.parse(YYYY_MM_DD.format(date));
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return null;
        }
    }

	/**
     * 获取当前时间到凌晨多少s
     *
     * @return
     */
    public static Long calculateCurrentTime2SecondDaySec() {
        Long currentTime = System.currentTimeMillis();
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(currentTime);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        calendar.add(Calendar.DATE, 1);
        Long endTime = calendar.getTimeInMillis();
        return (endTime - currentTime) / 1000;
    }

	/**
     * 根据往日日期获取今年日期
     */
    public static Date exchangeYear(Date endDate, Date nowDate) {
        Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
        cal.setTime(nowDate);
        int year = cal.get(Calendar.YEAR);
        cal.setTime(endDate);
        cal.set(Calendar.YEAR, year);
        if (compareMonth(cal.getTime(), nowDate) == -1) {
            cal.setTime(endDate);
            cal.set(Calendar.YEAR, year + 1);
        }
        return cal.getTime();
    }

	 /**
     * 获取去年的年份
     *
     * @param date
     * @return
     */
    public static int getLastYear(Date date) {
        Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
        cal.setTime(date);
        cal.set(Calendar.YEAR, -1);
        return cal.get(Calendar.YEAR);
    }

	/**
     * 获取传入时间 当月 所有天
     *
     * @return
     */
    public static List<String> getDayListOfMonth(Date date) {
        List<String> list = new ArrayList<String>();
        Calendar aCalendar = Calendar.getInstance(Locale.CHINA);
        aCalendar.setTime(date);
        int year = aCalendar.get(Calendar.YEAR);//年份
        int month = aCalendar.get(Calendar.MONTH) + 1;//月份
        int day = aCalendar.getActualMaximum(Calendar.DATE);
        System.out.println("年 : " + year);
        System.out.println("月 : " + month);
        System.out.println("天 : " + day);
        for (int i = 1; i <= day; i++) {
            String aDate = String.valueOf(year) + "-" + month + "-" + i;
            String s = dateToStringDate(strToYYMMDDDate(aDate));
            list.add(s);
        }
        return list;
    }
	
	 /**
     * 获取服务器启动时间
     */
    public static Date getServerStartDate() {
        long time = ManagementFactory.getRuntimeMXBean().getStartTime();
        return new Date(time);
    }

}

无意发现的

package com.ruoyi.common.utils.wx;

import com.ruoyi.common.utils.DateUtil;

import java.util.*;

/**
 * 日期工具类
 * @author Brain
 */
public class CalendarUtil {
	
	public static final String YEAR = "year";
	public static final String MONTH = "month";
	public static final String MONTH_FIRST_DAY_TIME = "month_first_day_time";
	public static final String MONTH_LAST_DAY_TIME = "month_last_day_time";
	
	//获取当前年的前5年数据
	public static List<String> getPre5Years(){
		List<String> years = new ArrayList<String>();
		Calendar calendar = Calendar.getInstance();
		int year = calendar.get(Calendar.YEAR);
		for(int i = 0; i < 5; i++){
			years.add((year - i) + "");
		}
		return years;
	}
	
	//获取12个月的数据
	public static List<String> get12MonthStr(){
		List<String> months = new ArrayList<String>();
		for(int i = 1 ;i < 13 ;i++){
			months.add(i+"");
		}
		return months;
	}
	
	//获取当前明天的数据
	public static String getNextDay(String format){
		Calendar calendar = Calendar.getInstance();
		Calendar tmpCalendar = Calendar.getInstance();
		tmpCalendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));//设置本月最大日期
		int maxDate = tmpCalendar.get(Calendar.DATE);
		
		int month = calendar.get(Calendar.MONTH);
        int year = calendar.get(Calendar.YEAR);
        int date = calendar.get(Calendar.DATE);
		
        if(date + 1 > maxDate ){
        	if(month + 1 > 11){
        		calendar.add(Calendar.YEAR, 1);
        		calendar.set(Calendar.MONTH, 0);
        		calendar.set(Calendar.DATE, 1);
        	}else{
        		calendar.set(year, month, date+1);
        	}
        }else{
        	calendar.set(year, month, date+1);
        }
        return DateUtil.getDateText(calendar.getTime(), format);
	}

	//获取n天后的日期
	public static Date getNextNDay(Date startTime, Integer n){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        start.add(Calendar.DATE, n);
        return start.getTime();
	}

	//获取n天后的日期 00:00:00
	public static Date getNextNDayBegin(Date startTime, Integer n){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        start.add(Calendar.DATE, n);
        start.set(Calendar.HOUR_OF_DAY, 0);
        start.set(Calendar.MINUTE, 0);
        start.set(Calendar.SECOND, 0);
        return start.getTime();
	}

	//获取n天后的日期 23:59:59
	public static Date getNextNDayEnd(Date startTime, Integer n){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        start.add(Calendar.DATE, n);
        start.set(Calendar.HOUR_OF_DAY, 23);
        start.set(Calendar.MINUTE, 59);
        start.set(Calendar.SECOND, 59);
        return start.getTime();
	}

	//获取n天前的日期
	public static Date getPreNDay(Date startTime, Integer n){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        start.add(Calendar.DATE, -n);
        return start.getTime();
	}

	//获取n天前的日期 00:00:00
	public static Date getPreNDayBegin(Date startTime, Integer n){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        start.add(Calendar.DATE, -n);
        start.set(Calendar.HOUR_OF_DAY, 0);
        start.set(Calendar.MINUTE, 0);
        start.set(Calendar.SECOND, 0);
        return start.getTime();
	}

	//获取n天前的日期 23:59:59
	public static Date getPreNDayEnd(Date startTime, Integer n){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        start.add(Calendar.DATE, -n);
        start.set(Calendar.HOUR_OF_DAY, 23);
        start.set(Calendar.MINUTE, 59);
        start.set(Calendar.SECOND, 59);
        return start.getTime();
	}

	//获取前x天的数据, x < 10;
	public static String getPreXDay(int x , String format){
		Calendar calendar = Calendar.getInstance();
		int month = calendar.get(Calendar.MONTH);
        int year = calendar.get(Calendar.YEAR);
        int date = calendar.get(Calendar.DATE);

        if(date - x < 0 ){
        	if(month - 1 < 0){
        		calendar.add(Calendar.YEAR, -1);
        		calendar.set(Calendar.MONTH, 11);
        		calendar.set(Calendar.DATE, 31  - (x-date));
        	}else{
        		calendar.add(Calendar.MONTH, -1);
        		calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));//设置本月最大日期
        		int maxDate = calendar.get(Calendar.DATE);
        		calendar.set(year, month - 1, maxDate - (x-date));
        	}
        }else{
        	calendar.set(year, month, date - x);
        }
        return DateUtil.getDateText(calendar.getTime(), format);
	}

	//获取当前年
	public static String getYear(){
		Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        return year+"";
	}

	//获取当前月
	public static String getMonth(){
		Calendar calendar = Calendar.getInstance();
        int month = calendar.get(Calendar.MONTH);
        month = month + 1;
        if(month > 12){
        	return "12";
        }
        return month+"";
	}

	//获取 年-月的 第一天 和 最后一天 时间
	/*public static Map<String, String> getMonthFirstEndDayTime(String year, String month){
		Map<String, String> rst = new HashMap<String, String>();
		Calendar calendar = Calendar.getInstance();
		int m = Integer.parseInt(month);
		m = m - 1;
		if(m < 0){
			m = 0;
		}
		calendar.set(Integer.parseInt(year), m, 1);
		String firstDayTime = DateUtil.COMMON.getDateText(calendar.getTime()) +" 00:00:00";

		calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));//设置本月最大日期
		String lastDayTime = DateUtil.COMMON.getDateText(calendar.getTime()) +" 23:59:59";

		rst.put(CalendarUtil.MONTH_FIRST_DAY_TIME, firstDayTime);
		rst.put(CalendarUtil.MONTH_LAST_DAY_TIME, lastDayTime);

		return rst;
	}*/

	//获取前一个月
	public static Map<String, String> getPreMonth(){
		Map<String, String> rst = new HashMap<String, String>();
		Calendar calendar = Calendar.getInstance();
		calendar.add(Calendar.MONTH, -1);
		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH);
		month = month + 1;

		rst.put("year", year+"");
        if(month > 12){
        	rst.put("month", "12");
        }else{
        	rst.put("month", month+"");
        }
        return rst;
	}

	//获取前一个月
	public static Map<String, String> getPreMonth(Integer year, Integer month){
		Map<String, String> rst = new HashMap<String, String>();
		if(month == 1){
			rst.put("year", (year-1)+"");
			rst.put("month", "12");
		}else{
			rst.put("year", year+"");
			rst.put("month", (month-1)+"");
		}
        return rst;
	}

	//获取开始月份和结束月份中间的所有月份,包括开始月份和结束月份
	public static List<String> getBetweenMonths(String startMonth , String endMonth){
		String[] startArr = startMonth.split("-");
		String[] endArr = endMonth.split("-");

		Integer startY = Integer.parseInt(startArr[0]);
		Integer startM = Integer.parseInt(startArr[1]);

		Integer endY = Integer.parseInt(endArr[0]);
		Integer endM = Integer.parseInt(endArr[1]);

		Calendar startCalendar = Calendar.getInstance();
		startCalendar.set(startY, startM - 1, 1, 0, 0);

		Calendar endCalendar = Calendar.getInstance();
		endCalendar.set(endY, endM - 1, 1, 0, 0);

		List<String> months = new ArrayList<String>();
		while(startCalendar.getTimeInMillis() <= endCalendar.getTimeInMillis()){
			months.add(DateUtil.getDateText(startCalendar.getTime(),"yyyy-MM"));
			startCalendar.add(Calendar.MONTH, 1);
		}
		return months;
	}

	//获取日期之间的天List formt = "yyyy-MM-dd"
	/*public static List<String> getBetweenDateStr(String startTime, String endTime){
		List<String> dateList = new ArrayList<String>();
		try {
			Long startM = DateUtil.COMMON.getTextDate(startTime).getTime();
			Long endM = DateUtil.COMMON.getTextDate(endTime).getTime();
			long result = (endM-startM) / (24 * 60 * 60*1000);
			String[] startTimeStr = startTime.split("-");
			Calendar startCalendar = Calendar.getInstance();
			startCalendar.set(Integer.parseInt(startTimeStr[0]), Integer.parseInt(startTimeStr[1]) - 1, Integer.parseInt(startTimeStr[2]));
			startCalendar.add(Calendar.DATE,-1);
			for(int i = 0; i <= result ; i++){
				startCalendar.add(Calendar.DATE,1);
				dateList.add(DateUtil.COMMON.getDateText(startCalendar.getTime()));
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return dateList;
	}*/

	/*public static List<String> getBetweenDateStr(String startTime, String endTime, String format){
		List<String> dateList = new ArrayList<String>();
		try {
			Long startM = DateUtil.COMMON.getTextDate(startTime).getTime();
			Long endM = DateUtil.COMMON.getTextDate(endTime).getTime();
			long result = (endM-startM) / (24 * 60 * 60*1000);
			String[] startTimeStr = startTime.split("-");
			Calendar startCalendar = Calendar.getInstance();
			startCalendar.set(Integer.parseInt(startTimeStr[0]), Integer.parseInt(startTimeStr[1]) - 1, Integer.parseInt(startTimeStr[2]));
			startCalendar.add(Calendar.DATE,-1);
			for(int i = 0; i <= result ; i++){
				startCalendar.add(Calendar.DATE,1);
				dateList.add(DateUtil.getDateText(startCalendar.getTime(),format));
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return dateList;
	}*/

	//获取日期的前n个月的月份(闭区间)
	public static List<String> getPreNMonths(String curMonth , Integer n){
		String[] curArr = curMonth.split("-");
		Integer curY = Integer.parseInt(curArr[0]);
		Integer curM = Integer.parseInt(curArr[1]);

		Calendar curCalendar = Calendar.getInstance();
		curCalendar.set(curY, curM - 1, 1, 0, 0);

		Calendar tmpCalendar = Calendar.getInstance();
		tmpCalendar.set(curY, curM - 1 - n, 1, 0, 0);

		List<String> months = new ArrayList<String>();
		while(tmpCalendar.getTimeInMillis() <= curCalendar.getTimeInMillis()){
			months.add(DateUtil.getDateText(tmpCalendar.getTime(),"yyyy-MM"));
			tmpCalendar.add(Calendar.MONTH, 1);
		}
		return months;
	}

	//获取当前天
	public static String getToday(String format){
		Calendar calendar = Calendar.getInstance();
        return DateUtil.getDateText(calendar.getTime(), format);
	}

	//获取当前月的第一天
	public static String getFirstDay(String format){
		Calendar calendar = Calendar.getInstance();
		int month = calendar.get(Calendar.MONTH);
        int year = calendar.get(Calendar.YEAR);
        calendar.set(year, month, 1);
        return DateUtil.getDateText(calendar.getTime(), format);
	}

	//获取当前月的最后一天
	public static String getLastDay(String format){
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));//设置本月最大日期
        return DateUtil.getDateText(calendar.getTime(), format);
	}

	//获取当前月的第一天
	public static Date getFirstDate(){
		Calendar calendar = Calendar.getInstance();
		int month = calendar.get(Calendar.MONTH);
        int year = calendar.get(Calendar.YEAR);
        calendar.set(year, month, 1);
        return calendar.getTime();
	}

	//获取当前月的最后一天
	public static Date getLastDate(){
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));//设置本月最大日期
        return calendar.getTime();
	}


	//日期的天是否一样;
	/*public static boolean isDayEqual(Date date1, Date date2){
		if(date1==null || date2 == null){
			return false;
		}
		String date1Str = DateUtil.COMPAT.getDateText(date1);
		String date2Str = DateUtil.COMPAT.getDateText(date2);
		return date1Str.equals(date2Str);
	}*/

	/**
	 * 时间间距是否为xx;
	 * 如果在 space 之内返回true;否则返回false
	 * @param startTime 开始时间
	 * @param endTime 结束时间
	 * @param space 毫秒
	 * @return
	 */
	public static boolean isTimeSpace(Date startTime, Date endTime, long space){
		if (startTime == null || endTime == null) {
			return false;
		}
		return endTime.getTime() - startTime.getTime() <= space;
	}

	/**
	 * 时间间距是否在 startSpace 和 endSpace 之间
	 * @param startTime
	 * @param endTime
	 * @param startSpace
	 * @param endSpace
	 * @return
	 */
	public static boolean isTimeBetween(Date startTime, Date endTime, long startSpace, long endSpace){
		return endTime.getTime() - startTime.getTime() <= endSpace &&
				endTime.getTime() - startTime.getTime() >= startSpace;
	}

	public static boolean isTimeBetween(Date time, Date startTime, Date endTime){
		return time.getTime() >= startTime.getTime() && time.getTime() <= endTime.getTime();
	}

	//获取日期之间年的距离
	public static Integer getYearSpace(Date startTime, Date endTime){
		Calendar start = Calendar.getInstance();
        start.setTime(startTime);
        Calendar end = Calendar.getInstance();
        end.setTime(endTime);
        return end.get(Calendar.YEAR) - start.get(Calendar.YEAR);
	}

	//获取日期之间天的距离
	public static Integer getDaySpace(Date startTime, Date endTime){
		return (int)(endTime.getTime() - startTime.getTime())/(24*60*60*1000);
	}

	//获取当前日期 毫秒
	public static long getTimeInMillis(){
		Calendar now = Calendar.getInstance();
		return now.getTimeInMillis();
	}

	//获取当前日期 秒
	public static long getTimeInSeconds(){
		return getTimeInMillis()/1000L;
	}

//	public static void main(String[] args){
//		/*String startTime = "2009-12-14";
//		String endTime = "2010-1-14";
//		List<String> list = getBetweenDateStr(startTime,endTime);
//		for(String s : list){
//			System.out.println(s);
//		}*/
//		/*String nextday = getNextDay("yyyy-MM-dd");
//        String xday = getPreXDay(6,"yyyy-MM-dd");
//		System.out.println(nextday);
//		System.out.println(xday);
//		System.out.println(getFirstDay("yyyy-MM-dd"));
//		System.out.println(getLastDay("yyyy-MM-dd"));*/
//
//		try {
//			Date startTime = DateUtil.COMMON.getTextDate("2015-06-03 00:00:00");
//			Date endTime = DateUtil.COMMON_FULL.getTextDate("2015-06-03 23:59:59");
//			System.out.println(isTimeBetween(new Date(),startTime,endTime));
//
//			List<String> month = getPreNMonths("2015-06",11);
//			for(String s : month){
//				System.out.println(s);
//			}
//
//			String str = DateUtil.COMMON_FULL.getDateText(getPreNDayEnd(new Date(),1));
//			System.out.println(str);
//
//			List<String> days = getBetweenDateStr("2015-03-09","2015-06-15","MM/dd");
//			for(String s : days){
//				System.out.println(s);
//			}
//
//		} catch (ParseException e) {
//			e.printStackTrace();
//		}
//	}
	
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值