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相关文章
- java转换字符串为时间_JAVA字符串转日期或日期转字符串
- Java详解:淘宝秒杀脚本java
- java 实现 按位异或_Java 按位异或的性质及其妙用
- java出现中文乱码_Java开发中中文乱码总结
- java环境_Java基础篇——环境配置
- java获取服务器路径_Java获取此次请求URL以及服务器根路径的方法「建议收藏」
- java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」
- JAVA的使用_Java集成开发环境
- 【说站】java时间日期API的整理
- java 自定义类加载器_JAVA中如何使用应用自定义类加载器「建议收藏」
- 【愚公系列】2023年03月 Java教学课程 097-Servlet服务器的Filter
- java并发编程(2):Java多线程-java.util.concurrent高级工具
- java最全最常用的日期工具类(随时补充)
- Java操作日期时间的工具类详解编程语言
- DateUtils.java 日期处理相关工具类详解编程语言
- java日期格式化工具类详解编程语言
- java日期的加减详解编程语言
- java之基础日期工具类Date类详解编程语言
- 查看java性能Linux下JStat工具深度分析Java性能(linuxjstat)
- MySQL封装之Java实现(mysql封装java)
- Java date 日期计算详解编程语言
- 删除Linux中的Java程序(linux删除java)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- 使用Java实现Redis数据存储(redis集成java)
- Java 离开 Oracle,新的旅程即将开始(java没有Oracle)
- 构建基于Java和Oracle的强大技术栈(java架构oracle)
- 异常Java程序捕获Oracle异常从失败中学习(java捕获oracle)
- Oracle和Java结合,推出新一代商城系统(java oracle商城)
- MySQL和Java结合的必备工具MySQL下载Java(mysql下载java)
- Java中使用开源库JSoup解析HTML文件实例