zoukankan      html  css  js  c++  java
  • 常用日期工具类

    常用日期工具类

    /**
     * @Author
     * @ClassName DateUtil
     * @Description TODO 时间工具类
     * @Date 2018/12/12 17:02
     * @Version 1.0
     */
    public class DateUtil {
    
    
        /**
         * @Author
         * @Description //TODO 获取当前日期的字符串
         * @Date 2019/3/22 14:22
         * @Param
         * @return
         */
        public static String dateToString(){
            Date date = new Date();
            SimpleDateFormat sDformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
            String format = sDformat.format(date);
            return format;
        }
    
          /**
           * @Author 
           * @Description //TODO  将日期字符串yyyy-MM-dd 转换成 yyyy年MM月dd日
           * @Date 2018/12/12 17:02
           * @Param 
           * @return 
           */
    
          public static String dateStrToStr(String dateStr){
              if(dateStr==null || dateStr.equals("")) {
                  return null;
              }else {
                  SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CANADA);
                  try {
                      Date date = simpleDateFormat.parse(dateStr);
                      SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
                      String dateFormat = format.format(date);
                      return dateFormat;
                  } catch (ParseException e) {
                      e.printStackTrace();
                  }
              }
              return null;
          }
    
          /**
           * @Author 
           * @Description //TODO 把两个字符串时间转换成时间段(xxxx年xx月xx日--xxxx年xx月xx日)
           * @Date 2019/1/24 15:10
           * @Param
           * @return
           */
        public static String dateStrSplicing(String startTime,String endTime){
            String sTime = dateStrToStr(startTime);
            String eTime = dateStrToStr(endTime);
            return sTime + "--" + eTime;
        }
        /**
         * @Author 
         * @Description //TODO 通过两个日期字符串(eg:2019-1-12)计算相差天数
         * @Date 2019/1/25 13:45
         * @Param
         * @return
         */
    
        public static String differDate(String startTime,String endTime) throws ParseException {
            if(startTime==null || endTime==null){
                  return "0";
            }
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd", Locale.CANADA);
            Date d1=sdf.parse(startTime);
            Date d2=sdf.parse(endTime);
            long daysBetween=(d2.getTime()-d1.getTime()+60*60*24*1000)/(60*60*24*1000);
            return String.valueOf(daysBetween);
        }
    
        /**
         *
         * @param time
         *           时间
         * @param num
         *           加的数,-num就是减去
         * @return
         *          减去相应的数量的天的日期
         * @throws ParseException Date
         */
        public static String dayAddNum(String time, Integer num) throws ParseException {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date date = format.parse(time);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.DAY_OF_MONTH, num);
            Date newTime = calendar.getTime();
            String format1 = format.format(newTime);
            return format1;
        }
    
    
    }
  • 相关阅读:
    什么是模板方法模式?
    在多线程环境下,SimpleDateFormat 是线程安全的吗?
    抽象类是什么?它与接口有什么区别?你为什么要使用过 抽象类?
    依赖注入和工程模式之间有什么不同?
    什么时候使用访问者模式?
    Java 中,受检查异常 和 不受检查异常的区别?
    说出 5 个 JDK 1.8 引入的新特性?
    什么是领域驱动设计?
    列举 IoC 的一些好处?
    什么是 Spring 配置文件?
  • 原文地址:https://www.cnblogs.com/dw3306/p/10749926.html
Copyright © 2011-2022 走看看