Java 的Date操作保留 测试可以采用junitTest 或者main方法测试验证

public static String formatDate(java.util.Date date) {return formatDateByFormat(date, "yyyy-MM-dd");}public static String formatDateByFormat(java.util.Date date, String format) {String result = "";if (date != null) {try {SimpleDateFormat sdf = new SimpleDateFormat(format);result = sdf.format(date);} catch (Exception ex) {logger.error(ex.getMessage());}}return result;}public static java.util.Date parseDate(java.sql.Date date) {return date;}public static java.sql.Date parseSqlDate(java.util.Date date) {if (date != null) {return new java.sql.Date(date.getTime());} else {return null;}}public static String format(java.util.Date date, String format) {String result = "";try {if (date != null) {java.text.DateFormat df = new java.text.SimpleDateFormat(format);result = df.format(date);}} catch (Exception e) {logger.error(e.getMessage());}return result;}public static String format(java.util.Date date) {if(null!=date){return format(date, "yyyy/MM/dd");}return null;}public static String format1(java.util.Date date) {if(null!=date){return format(date, "yyyy-MM-dd");}return null;}public static int getYear(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.get(java.util.Calendar.YEAR);}public static int getMonth(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.get(java.util.Calendar.MONTH) + 1;}public static int getDay(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.get(java.util.Calendar.DAY_OF_MONTH);}public static int getHour(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.get(java.util.Calendar.HOUR_OF_DAY);}public static int getMinute(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.get(java.util.Calendar.MINUTE);}public static int getSecond(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.get(java.util.Calendar.SECOND);}public static long getMillis(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);return c.getTimeInMillis();}public static int getWeek(java.util.Date date) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTime(date);int dayOfWeek = c.get(java.util.Calendar.DAY_OF_WEEK);dayOfWeek = dayOfWeek - 1;if (dayOfWeek == 0) {dayOfWeek = 7;}return dayOfWeek;}public static String getDate(java.util.Date date) {return format(date, "yyyy/MM/dd");}public static String getDate(java.util.Date date,String formatStr) {return format(date, formatStr);}public static String getTime(java.util.Date date) {return format(date, "HH:mm:ss");}public static String getDateTime(java.util.Date date) {return format(date, "yyyy-MM-dd HH:mm:ss");}/*** 日期月份相加减* @param date 具体的时间* @param month 相加减的月份* @return 处理后的时间*/public static Date addMonth(Date date, int month) {Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.MONTH, month);return calendar.getTime();}/*** 日期相加* @param date Date* @param day int* @return Date*/public static java.util.Date addDate(java.util.Date date, int day) {java.util.Calendar c = java.util.Calendar.getInstance();c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);return c.getTime();}/*** 日期相减* @param date Date* @param date1 Date* @return int*/public static int diffDate(java.util.Date date, java.util.Date date1) {return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));}/*** 日期相减(返回秒值)* @param date Date* @param date1 Date* @return int* @author */public static Long diffDateTime(java.util.Date date, java.util.Date date1) {return (Long) ((getMillis(date) - getMillis(date1))/1000);}public static java.util.Date getdate(String date) throws Exception {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");return sdf.parse(date);}public static java.util.Date getdate1(String date) throws Exception {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return sdf.parse(date);}public static java.util.Date getMaxTimeByStringDate(String date) throws Exception {String maxTime = date + " 23:59:59";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return sdf.parse(maxTime);}/*** 获得当前时间* @return* @throws ServiceException */public static Date getCurrentDateTime() throws Exception{Date date=new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      String result = DateUtil.getDateTime(date);return sdf.parse(result);}public static String getCurrentDateTimeToStr() throws Exception {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");return sdf.format(getCurrentDateTime());}public static String getCurrentDateTimeToStr2() throws Exception {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return sdf.format(getCurrentDateTime());}public static Long getWmsupdateDateTime() {Calendar cl=Calendar.getInstance();return cl.getTimeInMillis();}public static Integer getLeftSeconds(String date)throws Exception{SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date condition = sdf.parse(date);long n = condition.getTime();long s = sdf.parse(getCurrentDateTimeToStr2()).getTime();
//      System.out.println("开始时间:"+date+"-->"+(int)((s-n)/1000));return (int)((s-n)/1000);}/*** 获得时间戳* @return* @throws Exception*/public static String getTime(){Date date=new Date();return String.valueOf(date.getTime());}/** 判断日期格式是否正确 */    public static boolean validateDate(String dateString){//使用正则表达式 测试 字符 符合 dddd-dd-dd 的格式(d表示数字)Pattern p = Pattern.compile("\\d{4}+[-]\\d{2}+[-]\\d{2}+");Matcher m = p.matcher(dateString);if(!m.matches()){ return false;} //得到年月日String[] array = dateString.split("-");int year = Integer.parseInt(array[0]);int month = Integer.parseInt(array[1]);int day = Integer.parseInt(array[2]);if(month<1 || month>12){ return false;}int[] monthLengths = new int[]{0, 31, -1, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if(isLeapYear(year)){monthLengths[2] = 29;}else{monthLengths[2] = 28;}int monthLength = monthLengths[month];if(day<1 || day>monthLength){return false;    }return true;}/** 是否是闰年 */public static boolean isLeapYear(int year){return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ;}/*** 将时间格式的字符串,转换为时间* * @param str 时间格式的字符串* @param pattern 转换格式* @return java.util.Date*/public static Date parseToDate(String str, String pattern) {DateFormat df = new SimpleDateFormat(pattern);try {return df.parse(str);} catch (ParseException e) {}return null;}  /*** 将时间格式的字符串,转换为时间* * @param str 时间格式的字符串* @param pattern 转换格式* @return java.util.Date*/public static Date parseToDateWithThrowException(String str, String pattern) throws ParseException{DateFormat df = new SimpleDateFormat(pattern);return df.parse(str);}    public static Date getLastDayOfMonth(int year, int month) {     Calendar cal = Calendar.getInstance();     cal.set(Calendar.YEAR, year);     cal.set(Calendar.MONTH, month);cal.set(Calendar.DAY_OF_MONTH, 1);cal.add(Calendar.MONTH, -1);cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));  return cal.getTime();  }   public static Date getFirstDayOfMonth(int year, int month) {     Calendar cal = Calendar.getInstance();  cal.set(Calendar.YEAR, year);  cal.set(Calendar.MONTH, month);cal.set(Calendar.DAY_OF_MONTH, 1);cal.add(Calendar.MONTH, -1);  return cal.getTime();  }public static String getFirstDayOfMonthStr(String yearMonth) {int year = getYear(yearMonth);int month = getMonth(yearMonth);return getFirstDayOfMonthStr(year, month);}private static int getYear(String yearMonth) {return Integer.parseInt(yearMonth.substring(0, 4));//get year}private static int getMonth(String yearMonth) {return Integer.parseInt(yearMonth.substring(4, 6));//get month}public static String getLastDayOfMonthStr(int year, int month) {     Calendar cal = Calendar.getInstance();   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");cal.set(Calendar.YEAR, year);     cal.set(Calendar.MONTH, month);     cal.set(Calendar.DAY_OF_MONTH,1);cal.add(Calendar.DAY_OF_MONTH,-1); return sdf.format(cal.getTime());}public static String getLastDayOfMonthStr(String yearMonth) {     int year = getYear(yearMonth);int month = getMonth(yearMonth);return getLastDayOfMonthStr(year, month);}public static String getFirstDayOfMonthStr(int year, int month) {     Calendar cal = Calendar.getInstance();  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");cal.set(Calendar.YEAR, year);  cal.set(Calendar.MONTH, month-1);  cal.set(Calendar.DAY_OF_MONTH,cal.getMinimum(Calendar.DATE)); return sdf.format(cal.getTime());} /** * 返回当月最后一天的日期 */  public static Date getLastDayOfMonth(Date date) {  Calendar calendar = convert(date);  calendar.set(Calendar.DATE, calendar.getMaximum(Calendar.DATE));  return calendar.getTime();  }  /** * 返回当月最后一天的日期 */  public static Date getFirstDayOfMonth(Date date) {  Calendar calendar = convert(date);  calendar.set(Calendar.DATE, calendar.getMinimum(Calendar.DATE));  return calendar.getTime();  }  /** * 将日期转换为日历 * @param date 日期 * @return 日历 */  private static Calendar convert(Date date) {  Calendar calendar = Calendar.getInstance();  calendar.setTime(date);  return calendar;  }  public static Date getDayOfThisMonth(int year, int month, int day) {     Calendar cal = Calendar.getInstance();  cal.set(Calendar.YEAR, year);  cal.set(Calendar.MONTH, month);cal.set(Calendar.DAY_OF_MONTH, day);cal.add(Calendar.MONTH, -1);  return cal.getTime();  }/** * 获得指定日期的前一天 * @param specifiedDay * @return * @throws Exception */ public static String getCurrentDayBefore(Date date,String format) {Calendar c = Calendar.getInstance();c.setTime(date);int day = c.get(Calendar.DATE);c.set(Calendar.DATE, day - 1);String dayBefore = new SimpleDateFormat(format).format(c.getTime());return dayBefore;}/*** 检查日期时间段是否重叠* @param checkDate* @param startDate* @param endDate* @return*/public static boolean checkDateRepeart(Date checkStartDate,Date checkEndtDate,Date startDate,Date endDate){if(checkStartDate.getTime()==startDate.getTime() ||checkStartDate.getTime()==endDate.getTime()){return true;}if(checkEndtDate.getTime()==startDate.getTime() ||checkEndtDate.getTime()==endDate.getTime()){return true;}if(checkStartDate.getTime()>startDate.getTime() &&  checkStartDate.getTime()<endDate.getTime()){return true;}if(checkEndtDate.getTime()>startDate.getTime() &&  checkEndtDate.getTime()<endDate.getTime()){return true;}return false;}//得到本月的第一天public static String getMonthFirstDay() {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMinimum(Calendar.DAY_OF_MONTH));SimpleDateFormat firstDay= new SimpleDateFormat("yyyy-MM-dd");return  firstDay.format(calendar.getTime());}//得到本月的最后一天public static String getMonthLastDay() {Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));SimpleDateFormat lastDay= new SimpleDateFormat("yyyy-MM-dd");return  lastDay.format(calendar.getTime());}// 得到上月的第一天public static String getPerMonthFirstDay() {Calendar cal = Calendar.getInstance();// 上个月cal.add(Calendar.MONTH, -1);// 设置为1号,当前日期既为本月第一天cal.set(Calendar.DAY_OF_MONTH, 1);SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd");String firstDay = sm.format(cal.getTime());return firstDay;}// 得到上月的最后一天public static String getPerMonthLastDay() {Calendar call = Calendar.getInstance();// 设置上个月最后一天call.set(Calendar.DAY_OF_MONTH, 0);SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd");String lastDay = sm.format(call.getTime());return lastDay;}// 得到下个月的第一天public static String getNextMonthFirstDate(String dateStr){SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String nextMonthFirstDate = "";try {Date date = sdf.parse(dateStr);Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.set(Calendar.DAY_OF_MONTH, 1);calendar.add(Calendar.MONTH, 1);nextMonthFirstDate = sdf.format(calendar.getTime());} catch (ParseException e) {e.printStackTrace();}return nextMonthFirstDate;}

日期操作比较全面得代码相关推荐

  1. php日历类 农历,PHP日期操作类代码-农历-阳历转换、闰年、计算天数等

    这是一个实用的PHP日期时间操作类,里面包括了公历-农历转换.转换成中文日期格式.计算农历相隔天数.根据阴历年获取生肖.获取阴历月份的天数.获取农历每年的天数.获取闰月.计算阴历日期与正月初一相隔的天 ...

  2. PHP日期操作类代码-农历-阳历转换、闰年、计算天数等

    这是一个实用的PHP日期时间操作类,里面包括了公历-农历转换.转换成中文日期格式.计算农历相隔天数.根据阴历年获取生肖.获取阴历月份的天数.获取农历每年的天数.获取闰月.计算阴历日期与正月初一相隔的天 ...

  3. Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception {SimpleDateFormat sdf = ne ...

  4. Python之字符串转换为日期、结合时区的日期操作

    一.字符串转换为日期 方法一 s = '2019-01-20' print(datetime.strptime(s, '%Y-%m-%d')) # 2019-01-20 00:00:00 方法二 de ...

  5. 《Python Cookbook 3rd》笔记(3.16):结合时区的日期操作

    结合时区的日期操作 问题 你有一个安排在 2012 年 12 月 21 日早上 9:30 的电话会议,地点在芝加哥.而你的朋友在印度的班加罗尔,那么他应该在当地时间几点参加这个会议呢? 解法 对几乎所 ...

  6. python读取xlsx文件年月日变成数字_python转化excel数字日期为标准日期操作

    伙伴遇到一个关于excel导入数据到python中,日期变成数字而不是日期格式的问题.第一反应这个数字应该是excel里面的时间戳类似的,所以我就实验增加一天是不是对应的数字就加1.最后证明了我的想法 ...

  7. java遍历日期_Java遍历起止日期中间的所有日期操作

    传入的起止日期,返回一个泛型为String的集合: private static List dateUtil(Date start, Date end) { List list = new Array ...

  8. java怎样将日期本土化_Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  9. JavaScript 日期操作我不知道的事情

    平时对 Date 很多内容都一知半解,每次一用到 Date 就需要查资料,着实恼火. 故此文记录关于 JS 日期操作那些我不知道的事. 基础问题 Date.prototype.getTime() 返回 ...

最新文章

  1. Windows消息备忘录
  2. 【PyCharm编辑器】之引用selenium包提示错误:Unresolved reference 'selenium' less... (Ctrl+F1)...
  3. extern“C”有什么作用
  4. C++易于实现的有趣项目【附上完整教程】
  5. django admin search_fields
  6. unilever workspace creating space
  7. 【Iphone 游戏开发】游戏引擎剖析
  8. 根据年 -月查询这个月的第一天和最后一天
  9. html计算器_学习HTML、CSS和JavaScript的最佳方法是什么?
  10. 17.3.13--python编码问题
  11. MEF初体验之六:导出和元素据
  12. iotop命令监控磁盘io
  13. maven一键部署tomcat war包
  14. oracle 查表的用户名和密码,查看Oracle数据库中的所有用户名
  15. 耳机使用说明书 jbl ua_JBL UA联名款,全新一代真无线运动耳机“UA小黑盒”今日天猫首发...
  16. 工行u盾控件没有在您的机器上检测到u盾,请您检查u盾是否插入计算机,工行u盾电脑检测不到:控件没有在您的机器上检测到u盾...
  17. SEO数据变化,检测网站死链接、蜘蛛访问、whois
  18. 外卖CPS小程序外卖分销外卖推广系统外卖侠外卖探淘客源码
  19. 计算机专业的英语六级很难过,英语六级多少分算过 通过率高吗
  20. python生成Androd deviceid

热门文章

  1. sql2017 for linux,SQL Server 2017 for Linux
  2. 一部讲计算机软件高手的电视剧,跟全职高手类似的电视剧 这三部都很力荐
  3. 电脑中的内存不足是什么意思
  4. 大二一个学期学这么点内容,没有概念,只有实操
  5. [转] 罗德里格斯公式推导,以及如何使用cv2.Rodrigues进行旋转矩阵和旋转向量之间的相互转化
  6. 移动通信网络频段大全
  7. SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎
  8. Kotlin(八)集合List Set Map
  9. 【拼多多商品上下架接口】拼多多店铺提升复购率的方法介绍,如何快速提升复购率
  10. 放弃全职工作,出来成为”自由职业者”的利和弊