• java日期工具类


    public class DateUtils {
    	private static Log logger = LogFactory.getLog(DateUtils.class);
    	public static String getFirstDayOfMonth(int year, int month) {
    		Calendar cal = Calendar.getInstance();
    		// 设置年份
    		cal.set(Calendar.YEAR, year);
    		// 设置月份
    		cal.set(Calendar.MONTH, month - 1);
    		// 设置日历中月份的第1天
    		cal.set(Calendar.DAY_OF_MONTH, 1);
    		// 格式化日期
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		String firstDayOfMonth = sdf.format(cal.getTime());
    		return firstDayOfMonth;
    	}
    	
    	public static String getLastDayOfMonth(int year, int month) {
    		Calendar cal = Calendar.getInstance();
    		// 设置年份
    		cal.set(Calendar.YEAR, year);
    		// 设置月份
    		cal.set(Calendar.MONTH, month);
    		// 设置日历中月份的最后1天
    		cal.set(Calendar.DATE, 0);
    		// 格式化日期
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		String lastDayOfMonth = sdf.format(cal.getTime());
    		return lastDayOfMonth;
    	}
    	
    	public static String getFirstDayOfYear(int year) {
    		Calendar cal = Calendar.getInstance();
    		// 设置年份
    		cal.set(Calendar.YEAR, year);
    		// 设置月份
    		cal.set(Calendar.MONTH, 0);
    		// 设置日历中月份的第1天
    		cal.set(Calendar.DAY_OF_MONTH, 1);
    		// 格式化日期
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		String firstDayOfYear = sdf.format(cal.getTime());
    		return firstDayOfYear;
    	}
    	
    	public static String getLastDayOfYear(int year) {
    		Calendar cal = Calendar.getInstance();
    		// 设置年份
    		cal.set(Calendar.YEAR, year);
    		// 设置月份
    		cal.set(Calendar.MONTH, 11);
    		// 设置日历中月份的最后1天
    		cal.set(Calendar.DATE, 0);
    		// 格式化日期
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		String lastDayOfYear = sdf.format(cal.getTime());
    		return lastDayOfYear;
    	}
    	
    	/**
    	 * 获取当前月第一天
    	 * @return
    	 */
    	public static String firstDayOfCurrentMonth(){
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		Calendar cal=Calendar.getInstance();//获取当前日期 
    		cal.add(Calendar.MONTH, 0);
    		cal.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 
    		return sdf.format(cal.getTime());
    	}
    	
    	/**
    	 * 获取当前月最后一天
    	 * @return
    	 */
    	public static String lastDayOfCurrentMonth(){
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		Calendar cal = Calendar.getInstance();//获取当前日期 
    		cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
    		return sdf.format(cal.getTime());
    	}
    	
    	
    	public static String compareDate(String firstDate, String lastDate) {
    		String retDate = null ;
    		if(StringUtils.isEmpty(firstDate) && !StringUtils.isEmpty(lastDate)) {
    			return lastDate ;
    		}
    		if(!StringUtils.isEmpty(firstDate) && StringUtils.isEmpty(lastDate)) {
    			return firstDate ;
    		}
    		if(!StringUtils.isEmpty(firstDate) && !StringUtils.isEmpty(lastDate)) {
    			// 格式化日期
    			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    			try {
    				Date first = sdf.parse(firstDate) ;
    				Date last = sdf.parse(lastDate) ;
    				if(first.after(last)) {
    					return sdf.format(first) ;
    				}else{
    					return sdf.format(last) ;
    				}
    			} catch (ParseException e) {
    				logger.error("", e);
    			}
    		}
    		
    		return retDate ;
    	}
    	
    	public static Date getNextDay(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.DAY_OF_MONTH, +1);//+1今天的时间加一天
            date = calendar.getTime();
            return date;
        }
    	
    	/**
    	 * 获取日期的月份
    	 * @param date
    	 * @return
    	 */
    	public static String getMonth(Date date){
    		Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            int month = cal.get(Calendar.MONTH) + 1;
            if(month < 10){
            	return "0"+month;
            } else {
            	return String.valueOf(month);
            }
    	}
    	
    	/**
    	 * 使用用户格式格式化日期
    	 * 
    	 * @param date日期
    	 * @param pattern日期格式
    	 * @return
    	 */
    	public static String format(Date date, String pattern) {
    		String returnValue = "";
    		if (date != null) {
    			SimpleDateFormat df = new SimpleDateFormat(pattern);
    			returnValue = df.format(date);
    		}
    		return (returnValue);
    	}
    	
    	/**
    	 * 比较两个日期大小
    	 * @param DATE1
    	 * @param DATE2
    	 * @param format 格式 yyyy-MM-dd,yyyy-MM-dd hh:mm:ss
    	 * @return
    	 */
    	public static int compareDate(String DATE1, String DATE2, String format) {
    	     DateFormat df = new SimpleDateFormat(format);
    	     try {
    	       Date dt1 = df.parse(DATE1);
    	       Date dt2 = df.parse(DATE2);
    	       if (dt1.getTime() > dt2.getTime()) {
    	         return 1;
    	       } else if (dt1.getTime() < dt2.getTime()) {
    	         return -1;
    	       } else {
    	         return 0;
    	       }
    	     } catch (Exception e) {
    	       e.printStackTrace();
    	     }
    	     return 0;
    	   }
    	
    	public static void main(String[] args) {
    		System.out.println(firstDayOfCurrentMonth());
    		System.out.println(lastDayOfCurrentMonth());
    		String camStartDate = "2016-11-11";
    		String camEndDate = "2019-11-11";
    		List<String> years = new ArrayList<>();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		try {
    			Date d1 = sdf.parse(camStartDate);
    			Date d2 = sdf.parse(camEndDate);
    			Calendar c = Calendar.getInstance();
    			c.setTime(d1);
    			int year1 = c.get(Calendar.YEAR);
    			c.setTime(d2);
    			int year2 = c.get(Calendar.YEAR);
    			do {
    				if(year1 >= 2017){
    					years.add(year1 + "");
    				}
    				year1++;
    			} while (year2 >= year1);
    			
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		System.out.println(years);
    	}
    	
    	/**
    	 * 传入月份,将period转换为MM的格式
    	 * @param period
    	 * @return
    	 */
    	public static String getMonthTwoPlace(String period){
    		if(period.length() == 2){
    			return period;
    		}
    		
    		if(period.length() == 1){
    			return "0" + period;
    		}
    		return null;
    	}
    	
    	/**
    	 * 将日期字符串转化为Date类型
    	 * @param dateStr
    	 * @param pattern
    	 * @return
    	 */
    	public static Date StringToDate(String dateStr, String pattern) {
    		try {
    			DateFormat sdf = new SimpleDateFormat(pattern);
    			Date date = sdf.parse(dateStr);
    			return date;
    		} catch (Exception ex) {
    			return null;
    		}
    	}
    	
    	/**
    	 * 将日期转化为字符串类型
    	 * @param dateStr
    	 * @param pattern
    	 * @return
    	 */
    	public static String dateToString(Date date, String pattern) {
    		DateFormat sdf = new SimpleDateFormat(pattern);
    		String dateStr = sdf.format(date);
    		return dateStr;
    	}
    }
    
  • 相关阅读:
    html css 学习
    第七天
    第六天
    第五天
    第四天
    第三天
    第二天
    团队敏捷开发day8
    团队敏捷开发day7
    团队敏捷开发day6
  • 原文地址:https://www.cnblogs.com/wangyayun/p/11732263.html
Copyright © 2020-2023  润新知