常用类05-JDK8前的时间API


JDK8前与时间相关内容

  • 返回时间戳

    long time = System.currentTimeMillis();
            //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差
            //称为时间戳
            System.out.println(time);
    
  • java.util.Date类

    1. 两个构造器
    • 构造器一:

      创建一个对应当前时间的Date对象

      Date date = new Date();
      
    • 构造器二:

      创建指定毫秒数的Date对象

      Date date = new Date(/*毫秒数*/);
      
    1. 两个方法
    • 方法一:toString()

      显示当前的 年月日时分秒

      Date date1 = new Date();
      System.out.println(date1.toString());
      
    • 方法二:getTime()

      获取当前Date对象对应的毫秒数(时间戳)

      Date date1 = new Date();
      System.out.println(date1.getTime());
      
      对应数据库中的日期类型的变量
      
    1. java.sql.Date类
    • 如何实例化

      java.sql.Date date3 = new java.sql.Date(/*毫秒数*/);
      
    • 如何将java.util.Date对象转换为java.sql.Date对象

      //情况一:
      Date date4 = new java.sql.Date();
      java.sql.Date date5 = (java.sql.Date)date4;
      //情况二:
      Date date6 = new Date();
      java.sql.Date date7 = new java.sql.Date(date6.getTime());
      
  • java.text.SimpleDateFormat类

    1. 两个操作
    • 格式化:日期——>字符串

      //格式化日期
      Date date = new Date();
      System.out.println(date);
      String format = sdf.format(date);
      System.out.println(format);
      //格式化
      String format1 = sdf1.format(date);
      System.out.println(format1);//2022-02-25 06:31:46
      
    • 解析:格式化的逆过程,字符串——>日期

      //解析
      String str = "22-2-25 下午6:36";
      Date date1 = sdf.parse(str);
      System.out.println(date1);
      //解析
      Date date2 = sdf1.parse("2022-02-25 06:31:46");
      System.out.println(date2);
      
    1. SimpleDateFormat的实例化
    //实例化:使用默认构造器
    SimpleDateFormat sdf = new SimpleDateFormat();
    //实例化:调用带参构造器
    SimpleDateFormat sdf1 = new SimpleDateFormat("yyy-MM-dd hh:mm:ss");
    
  • java.util.Calendar类

    1. 实例化
    //方法一:创建其子类(GregorianCalendar)的对象
    //方法二:调用其静态方法getInstance()
    Calendar calendar = Calendar.getInstance();
    System.out.println(calendar.getClass());
    
    1. 常用方法
    • get()

      //get()
      int days = calendar.get(Calendar.DAY_OF_MONTH);
      System.out.println(days);
      System.out.println(calendar.get(calendar.DAY_OF_YEAR));
      
    • set()

      //set()
      calendar.set(Calendar.DAY_OF_MONTH,22);
      days = calendar.get(Calendar.DAY_OF_MONTH);
      System.out.println(days);
      
    • add()

      //add()
      calendar.add(Calendar.DAY_OF_MONTH,3);
      days = calendar.get(Calendar.DAY_OF_MONTH);
      System.out.println(days);
      
    • getTime()

      //getTime():日历类——>Date
      Date date = calendar.getTime();
      System.out.println(date);
      
    • setTime()

      //setTime():Date——>日历类
      Date date1 = new Date();
      calendar.setTime(date1);
      days = calendar.get(Calendar.DAY_OF_MONTH);
      System.out.println(days);