java8中的Date、DateTime、Instant

来源:互联网 发布:mac玩国服lol 编辑:程序博客网 时间:2024/06/05 22:42

LocalDate

含有年、月、日

LocalDate.of(2014, 1, 20) //或 LocalDate.of(2014, Month.JANUARY, 20)

=> 2014-1-20


LocalTime

仅含有小时、分钟、秒、纳秒

LocalTime.of(3, 30, 20)

=> 03:30:20


LocalDateTime

结合了LocalDate和LocalTime

LocalDateTime.of(2014, 1, 20, 3, 30, 20)

=> 2014-01-20T03:30:20


ZoneDateTime

含有时区信息的时间

ZonedDateTime.of(LocalDateTime.of(2014, 1, 20, 3, 30, 20), ZoneId.of("+08"));

=> 2014-01-20T03:30:20+08:00


Instant

用long表示从1970-1-1 00:00:00到现在的nanosecond

Instant.now()// 获取当前时间

=> 2014-07-23T14:40:41.487Z


上面的类都提供了争对时区的操作:

Instant.now().atOffset(ZoneOffset.ofHours(8))// 获取北京时间

2014-07-23T22:40:41.486+08:00


重构:

java.sql.Timestamp:

timestamp.toLocalDateTime()

timestamp.toInstant()

0 0
原创粉丝点击