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. 使用diamond2的一些问题的解决
  2. 欢乐拼图发红包微信小程序开发过程实录成品展示
  3. MySQL复习资料(九)——MySQL-图形化工具使用
  4. [文档].Altera - Avalon接口规范
  5. caffe各种依赖包配置
  6. DiagnosticsTextBox:WinForms的日志窗口
  7. IP虚拟服务器软件IPVS,ipvs介绍_ipvs配置安装部署-华为云
  8. 底层I/O性能大PK:Python/Java被碾压,Rust有望取代C++
  9. .net core 获取binary 文件_Linux操作系统文件目录
  10. java如何从服务器上删除文件,java从服务器删除文件
  11. 关于Mysql的mysql.sock文件
  12. 简简单单几行Python代码就能暴力破解网站登录密码,真有这么强吗?
  13. activity has leaked window
  14. 样本标准差与自由度 n-1 卡方分布关系的证明
  15. channel小知识点
  16. Swift之网络编程-网络监测
  17. PB使用WININET的FTP方式自动更新(四、下载)
  18. html div 虚线边框样式,纯CSS实现渐变虚线框和边框滚动动画
  19. php empty 注意
  20. Google财经香港版上线,香港路演

热门文章

  1. 基于采样的方法(一) RRT
  2. 一篇文章告诉你什么是GFS(分布式文件系统)
  3. 特斯拉、蔚来、小鹏三款主流智能驾驶产品测评
  4. 华为OD机试题 - 优选核酸检测点(JavaScript)| 代码+思路+重要知识点
  5. 部分电脑在linux下开关机啪啪响以及插耳机有电流声的解决方法
  6. rviz的使用与显示
  7. tsmc 12nm/7nm面积估计
  8. 【AutoSAR】【MCAL】ICU输入扑捉单元
  9. 请不要安装IP-Guard破解版。
  10. 入职五年回顾(十四) 2013年9月