Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
2017-08-06 11:53
645 查看
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法// Obtains an instance of Date from an Instant object.public static Date from(Instant instant) { try { return new Date(instant.toEpochMilli()); } catch (ArithmeticException ex) { throw new
IllegalArgumentException(ex); }}// Converts this Date object to an Instant.public Instant toInstant() { return Instant.ofEpochMilli(getTime());} 这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime(这个类可以很容易获取LocalDate和LocalTime),新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date,具体实现细节如下://
01. java.util.Date --> java.time.LocalDateTimepublic void UDateToLocalDateTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant,
zone);}// 02. java.util.Date --> java.time.LocalDatepublic void UDateToLocalDate() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant,
zone); LocalDate localDate = localDateTime.toLocalDate();}// 03. java.util.Date --> java.time.LocalTimepublic void UDateToLocalTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime
localDateTime = LocalDateTime.ofInstant(instant, zone); LocalTime localTime = localDateTime.toLocalTime();}// 04. java.time.LocalDateTime --> java.util.Datepublic void LocalDateTimeToUdate() { LocalDateTime localDateTime = LocalDateTime.now(); ZoneId zone
= ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}// 05. java.time.LocalDate --> java.util.Datepublic void LocalDateToUdate() { LocalDate localDate = LocalDate.now(); ZoneId zone =
ZoneId.systemDefault(); Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}// 06. java.time.LocalTime --> java.util.Datepublic void LocalTimeToUdate() { LocalTime localTime = LocalTime.now(); LocalDate
localDate = LocalDate.now(); LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}
IllegalArgumentException(ex); }}// Converts this Date object to an Instant.public Instant toInstant() { return Instant.ofEpochMilli(getTime());} 这两个方法使我们可以方便的实现将旧的日期类转换为新的日期类,具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime(这个类可以很容易获取LocalDate和LocalTime),新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date,具体实现细节如下://
01. java.util.Date --> java.time.LocalDateTimepublic void UDateToLocalDateTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant,
zone);}// 02. java.util.Date --> java.time.LocalDatepublic void UDateToLocalDate() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant,
zone); LocalDate localDate = localDateTime.toLocalDate();}// 03. java.util.Date --> java.time.LocalTimepublic void UDateToLocalTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime
localDateTime = LocalDateTime.ofInstant(instant, zone); LocalTime localTime = localDateTime.toLocalTime();}// 04. java.time.LocalDateTime --> java.util.Datepublic void LocalDateTimeToUdate() { LocalDateTime localDateTime = LocalDateTime.now(); ZoneId zone
= ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}// 05. java.time.LocalDate --> java.util.Datepublic void LocalDateToUdate() { LocalDate localDate = LocalDate.now(); ZoneId zone =
ZoneId.systemDefault(); Instant instant = localDate.atStartOfDay().atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}// 06. java.time.LocalTime --> java.util.Datepublic void LocalTimeToUdate() { LocalTime localTime = LocalTime.now(); LocalDate
localDate = LocalDate.now(); LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime); ZoneId zone = ZoneId.systemDefault(); Instant instant = localDateTime.atZone(zone).toInstant(); java.util.Date date = Date.from(instant);}
相关文章推荐
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- java8 新时间API用法实例(LocalDate、LocalTime、LocalDateTime)
- java8 Date,Timestamp,LocalDate,LocalTime,LocalDateTime,Instant互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- Java 线程安全LocalTime 和LocaldateTime 新的Date和Time类 -JDK8新时间类的简单使用
- Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
- 在JDBC中使用Java8的日期LocalDate、LocalDateTime
- Date与LocalDateTime、LocalDate、LocalTime互转
- JAVA8 LocalDateTime --> Date
- Java 使用jdk8的新特性LocalDate和LocalDateTime 实现当前时间,日期加减,是否闰年,时间戳,时间线程每秒改变一次
- Java 8---LocalDate,LocalTime处理日期时间
- Java8中 Date和LocalDateTime的相互转换
- JDBC中使用Java8的日期LocalDate、LocalDateTime
- Java8中 Date和LocalDateTime的相互转换
- Java 8 中的 LocalDate 和 LocalTime 的神奇之处
- java8中的localdate和localtime用法举例