zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java日期工具类详解编程语言

2023-06-13 09:11:47 时间
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;

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/17058.html

cjava