java日期类--Java笔记

java日期类--Java笔记,第1张

java日期类--Java笔记

目录

一.Date类和SimpleDateFormat类:格式化和解析日期

1.format()和parse()

2.SimpleDateFormat参数

①.yyyy-MM-dd HH-mm-ss 、Y、hh

②.E、D、F、W、w

③.a、K、k、z、Z

二.Calendar类

1.创建 Calendar 对象

2.Calendar get方法字段

 三.第三代日期类

1.LocalDate、LocalTime、LocalDateTime类

①.now()

 ②.获取单个日期和时间的方法(年月日、时分秒)

③.LocalDateTime 类之 plus 和 minus

2.DateTimeFormatter类

3.Instant类


一.Date类和SimpleDateFormat类:格式化和解析日期 1.format()和parse()

parse()需要d出一个异常:throws ParseException,不然会报错

      Date i = new Date();

      // 1.输出当前时间
      System.out.println("1.:t" + i);

      // 2.getTime() 获取1970.1.1到现在的毫秒数
      System.out.println("2.:t" + i.getTime());

      // 创建 SimpleDateFormat 对象并写入相应参数
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

      // 3.format()对当前时间进行格式化
      System.out.println("3.:t" + sdf.format(i));

      // 4.parse() 把格式化的时间字符串转换为原来的格式
      System.out.println("4.:t" + sdf.parse(sdf.format(i))); 

输出

2.SimpleDateFormat参数 SimpleDateFormat  常用参数SimpleDateFormat  不常用参数格式释义格式释义YYYY或yyyy年E今天星期几MM月             D一年中第几天dd日F一月中第几个星期HH(24小时制)时W一月中第几个星期hh(12小时制)时w一年中第几个星期mm分a上午 / 下午ss秒K(12小时制)今天第几个小时SSS毫秒k(24小时制)今天第几个小时z 时区Z时区

①.yyyy-MM-dd HH-mm-ss 、Y、hh
      Date i = new Date();

      SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
      SimpleDateFormat sdf2 = new SimpleDateFormat("Y");
      SimpleDateFormat sdf3 = new SimpleDateFormat("hh");

      System.out.println("1.  yyyy-MM-dd HH-mm-ss:t" + sdf1.format(i));
      System.out.println("2.  Y:t" + sdf2.format(i));
      System.out.println("3.  hh:t" + sdf3.format(i));

 输出

②.E、D、F、W、w
      Date i = new Date();

      SimpleDateFormat sdf1 = new SimpleDateFormat("E");
      SimpleDateFormat sdf2 = new SimpleDateFormat("D");
      SimpleDateFormat sdf3 = new SimpleDateFormat("F");
      SimpleDateFormat sdf4 = new SimpleDateFormat("W");
      SimpleDateFormat sdf5 = new SimpleDateFormat("w");

      System.out.println("1.  E:t" + sdf1.format(i));
      System.out.println("2.  D:t" + sdf2.format(i));
      System.out.println("3.  F:t" + sdf3.format(i));
      System.out.println("4.  W:t" + sdf4.format(i));
      System.out.println("5.  w:t" + sdf5.format(i));

输出:

③.a、K、k、z、Z
      Date i = new Date();

      SimpleDateFormat sdf1 = new SimpleDateFormat("a");
      SimpleDateFormat sdf2 = new SimpleDateFormat("K");
      SimpleDateFormat sdf3 = new SimpleDateFormat("k");
      SimpleDateFormat sdf4 = new SimpleDateFormat("z");
      SimpleDateFormat sdf5 = new SimpleDateFormat("Z");

      System.out.println("1.  a:t" + sdf1.format(i));
      System.out.println("2.  K:t" + sdf2.format(i));
      System.out.println("3.  k:t" + sdf3.format(i));
      System.out.println("4.  z:t" + sdf4.format(i));
      System.out.println("5.  Z:t" + sdf5.format(i));

 输出: 

二.Calendar类

Calendar类是一个抽象类

1.创建 Calendar 对象
        // 创建 Calendar 对象
        Calendar i = Calendar.getInstance();

        // 输出 i 返回 Calendar 大部分字段对应的数值
        System.out.println(i);
     


        // getTime 输出时间
        System.out.println(i.getTime());//输出:Fri Dec 17 11:10:44 CST 2021
2.Calendar get方法字段 Calendar常用字段格式释义

YEAR

年                

MONTH

DAY_OF_MONTH

HOUR

MINUTE

SECOND

通过get方法来获取

        Calendar i = Calendar.getInstance();
        //年
        System.out.print(i.get(Calendar.YEAR) + "-");
        //月,月份是从0开始的,所以要加1
        System.out.print(i.get(Calendar.MONTH) + 1 + "-");
        //日
        System.out.print(i.get(Calendar.DAY_OF_MONTH) + "  ");
        //时
        System.out.print(i.get(Calendar.HOUR) + ":");
        //分
        System.out.print(i.get(Calendar.MINUTE) + ":");
        //秒
        System.out.print(i.get(Calendar.SECOND));

输出: 

 

 三.第三代日期类 1.LocalDate、LocalTime、LocalDateTime类 ①.now()
      
      //输出日期和时间
      LocalDateTime i1 = LocalDateTime.now();
      System.out.println(i1);

      //输出日期
      LocalDate i2 = LocalDate.now();
      System.out.println(i2);

      //输出时间
      LocalTime i3 = LocalTime.now();
      System.out.println(i3);

 输出:

 

 ②.获取单个日期和时间的方法(年月日、时分秒)
      LocalDateTime i = LocalDateTime.now();

      //年
      System.out.print(+ i.getYear() + "-");

      //月
      System.out.print(i.getMonthValue() + "-");

      //日
      System.out.print(i.getDayOfMonth() + "  ");

      //时
      System.out.print(i.getHour() + ":");

      //分
      System.out.print(i.getMinute() + ":");

      //秒
      System.out.print(i.getSecond());

输出:

③.LocalDateTime 类之 plus 和 minus

 plus:查看增加一段时间后的时间

minus:查看减少一段时间后的时间

      LocalDateTime l = LocalDateTime.now();
      //原来的
      System.out.println(l);

      //加减年
      System.out.print("1.加:" + l.plusYears(1));  System.out.println("    减:" + l.minusYears(1));

      //加减月
      System.out.print("2.加:" + l.plusMonths(1));  System.out.println("    减:" + l.minusMonths(1));

      //加减日
      System.out.print("3.加:" + l.plusDays(1));  System.out.println("    减:" + l.minusDays(1));

      //加减时
      System.out.print("4.加:" + l.plusHours(1));  System.out.println("    减:" + l.minusHours(1));

      //加减分
      System.out.print("5.加:" + l.plusMinutes(60));  System.out.println("    减:" + l.minusMinutes(60));

      //加减秒
      System.out.print("6.加:" + l.plusSeconds(3600));  System.out.println("    减:" + l.minusSeconds(3600));

 输出:

 

2.DateTimeFormatter类

类似SimpleDateFormat,用于格式化

      LocalDateTime l = LocalDateTime.now();
      DateTimeFormatter i = DateTimeFormatter.ofPattern("Y-M-d H:m:s");

      System.out.println(i.format(l));

输出:

 

3.Instant类

时间线上的一个瞬时点,可以和Date相互转化

      Instant i = Instant.now();
      System.out.println(i); 

      // Instant --》 Date
      Date d = Date.from(i);
      System.out.println(d);

      // Date --》 Instant
      Instant instant = d.toInstant();
      System.out.println(instant);

输出:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5678374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存