在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

Java8中新增的日期和时间API

2017-2-16 13:16| 发布者: zhangjf| 查看: 1400| 评论: 0

摘要: 本文记录了一些Java8中新增的日期和时间API的基本用法 1.计算时间间隔 Java8之前,我们想要确定一个方法的运行时间长度,可以这样:long start = System.currentTimeMillis();doSomething();long end = System.c ...
本文记录了一些Java8中新增的日期和时间API的基本用法 1.计算时间间隔

Java8之前,我们想要确定一个方法的运行时间长度,可以这样:

  1. long start = System.currentTimeMillis();
  2. doSomething();
  3. long end = System.currentTimeMillis();
  4. System.out.println(end-start);
复制代码



Java8中,可以这样

  1. Instant start = Instant.now();
  2. doSomething();
  3. Instant end = Instant.now();
  4. Duration time = Duration.between(start, end);
  5. long seconds = time.getSeconds();//秒表示
  6. long millis = time.toMillis();//毫秒表示
  7. System.out.println(seconds);
  8. System.out.println(millis);
复制代码


可以轻松选择用纳秒、毫秒、秒、分钟、小时或者天来表示时间间隔的单位。


可以这样来比较第一个方法是不是比第二个执行得更快:

  1. Instant start = Instant.now();
  2. doSomething();
  3. Instant end = Instant.now();
  4. Duration time = Duration.between(start, end);
  5. Instant start2 = Instant.now();
  6. doSomething2();
  7. Instant end2 = Instant.now();
  8. Duration time2 = Duration.between(start2, end2);
  9. boolean fast = time.minus(time2).isNegative();
  10. System.out.println(fast);
复制代码



2.本地日期和时间
  1. LocalDate now = LocalDate.now();
  2. LocalDate date = LocalDate.of(2005, 5, 10);
  3. LocalDate date2 = LocalDate.of(2003, Month.FEBRUARY, 5);
  4. System.out.println(now);
  5. System.out.println(date);
  6. System.out.println(date2);
  7. LocalTime now2 = LocalTime.now();
  8. LocalTime time = LocalTime.of(22, 50, 56);
  9. System.out.println(now2);
  10. System.out.println(time);
复制代码



3.日期格式化
  1. //按照内置的不同方式格式化
  2. String format = DateTimeFormatter.ISO_LOCAL_DATE.format(LocalDate.now());
  3. String format2 = DateTimeFormatter.ISO_LOCAL_TIME.format(LocalTime.now());
  4. String format3 = DateTimeFormatter.ISO_DATE.format(LocalDateTime.now());
  5. String format4 = DateTimeFormatter.ISO_INSTANT.format(Instant.now());
  6. System.out.println(format);
  7. System.out.println(format2);
  8. System.out.println(format3);
  9. System.out.println(format4);
  10. //按照标准格式格式化
  11. DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL);
  12. String format5 = formatter.format(LocalDateTime.now());
  13. System.out.println(format5);
  14. //按照指定方式格式化
  15. DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd E HH:mm:ss");
  16. String format6 = pattern.format(LocalDateTime.now());
  17. System.out.println(format6);
复制代码



最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-11 05:33

Copyright 2015-2025 djqfx

返回顶部