• 11、Java 日期时间 日期工具类


      Java8APIjava.util.DateSimpleDateFormat线Java8APIAPIISO

    Java:

    java.lang.Object
    java.util.Date
    java.sql.Date
    public class Date
    extends DateJDBCSQL DATE 197011000000.000 GMT

    SQL DATE java.sql.Date


    jdk 

      1

        Java 8 LocalDate java.util.Date

    public static void main(String[] args) {
      LocalDate date = LocalDate.now();
      System.out.println("=" + date);
    }

      2

        LocalDate.of() LocalDateAPI19000

    public static void main(String[] args) {
       LocalDate date = LocalDate.of(2000, 1, 1);
       System.out.println("=" + date);
    }

     3

    public static void main(String[] args) {
       LocalDate date = LocalDate.now();
       System.out.printf("=%d =%d =%d", date.getYear(), date.getMonthValue(), date.getDayOfMonth());
    }

     4

    public static void main(String[] args) {
       LocalDate now = LocalDate.now();
       LocalDate date = LocalDate.of(2018, 9, 24);
       System.out.println("=" + now.equals(date));
    }

      

        Java 8 LocalTime java.util.Date

    public static void main(String[] args) {
       LocalTime time = LocalTime.now();
       System.out.println("=" + time);
    }

      1

        Java8plusXxx()add()API使

    public static void main(String[] args) {
               // 
           LocalTime time = LocalTime.now();
           LocalTime newTime = time.plusHours(2);
           System.out.println("newTime=" + newTime);
               // 
           LocalDate date = LocalDate.now();
           LocalDate newDate = date.plus(1, ChronoUnit.WEEKS);
           System.out.println("newDate=" + newDate);
           
      }

      2

        Java8isAfter()isBefore()

    public static void main(String[] args) {
           
           LocalDate now = LocalDate.now();
           
           LocalDate date1 = LocalDate.of(2000, 1, 1);
           if (now.isAfter(date1)) {
               System.out.println("");
          }
           
           LocalDate date2 = LocalDate.of(2020, 1, 1);
           if (now.isBefore(date2)) {
               System.out.println("2020");
          }
           
      }

      

        Java 8ZoneIdZoneDateTime

    public static void main(String[] args) {
           
           // 
           ZoneId shanghaiZoneId = ZoneId.of("Asia/Shanghai");
           ZonedDateTime shanghaiZonedDateTime = ZonedDateTime.now(shanghaiZoneId);
           
           // 
           ZoneId tokyoZoneId = ZoneId.of("Asia/Tokyo");
           ZonedDateTime tokyoZonedDateTime = ZonedDateTime.now(tokyoZoneId);
           
           DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
           System.out.println(": " + shanghaiZonedDateTime.format(formatter));
           System.out.println(": " + tokyoZonedDateTime.format(formatter));
           
      }

      1: 使

    public static void main(String[] args) {
           
           // 
           String dateText = "20180924";
           LocalDate date = LocalDate.parse(dateText, DateTimeFormatter.BASIC_ISO_DATE);
           System.out.println("=" + date);
           
           // 
           dateText = date.format(DateTimeFormatter.ISO_DATE);
           System.out.println("dateText=" + dateText);
           
      }

     2

    public static void main(String[] args) {
           
           DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
           
           // 
           LocalDateTime now = LocalDateTime.now();
           String nowText = now.format(formatter);
           System.out.println("nowText=" + nowText);
           
           // 
           String datetimeText = "1999-12-31 23:59:59";
           LocalDateTime datetime = LocalDateTime.parse(datetimeText, formatter);
           System.out.println(datetime);
           
      }

    public class DateUtils {
       private static Log logger = LogFactory.getLog(DateUtils.class);
       public static String getFirstDayOfMonth(int year, int month) {
           <a title="java" href="http://www.itxm.cn" target="_blank">Calendar </a>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);
      }
       
       /**
        * periodMM
        * @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;
      }
    }


  • 相关阅读:
    准备找工作了,求助于在成都的师兄、师姐们提供一些信息!大家都看看吧!
    大学课程名的中文翻译
    火箭今天赢了!!!
    如何成为一个受欢迎的人!
    理解DataSet的数据缓存机制
    餐桌上的不文雅行
    今天看到居然有100多个Gmail的邀请函,还没有Gmail的朋友留下邮箱地址!
    Update:代码行计算器(LinesCounter)
    找工作之“加班费”
    动画片里的Ajax
  • 原文地址:https://www.cnblogs.com/naimao/p/13346507.html
Copyright © 2020-2023  润新知