JSR310 時間類型的相互轉換


參數申明:

1   final Date date = new Date();
2   final Timestamp timestamp = new Timestamp(date.getTime());
3   final Calendar calendar = Calendar.getInstance();
4   final Instant instant = Instant.now();
5   final LocalDateTime localDateTime = LocalDateTime.now();
6   final ZonedDateTime zonedDateTime = ZonedDateTime.now();
7   final LocalDate localDate = LocalDate.now();

 

 

轉Instant

 1     //Date轉Instant
 2     Instant dateInstant = date.toInstant();
 3     //Timestamp轉Instant
 4     Instant timestampInstant = timestamp.toInstant();
 5     //Calendar轉Instant
 6     Instant calendarInstant = calendar.toInstant();
 7     //LocalDateTime轉Instant
 8     Instant localDateTimeInstant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
 9     //ZonedDateTime轉Instant
10     Instant zonedDateTimeInstant = zonedDateTime.toInstant();
11     //LocalDate轉Instant
12     Instant localDateInstant = localDate.atStartOfDay(ZoneId.systemDefault()).toInstant();

 

轉LocalDateTime

 1     //Date轉LocalDateTime
 2     LocalDateTime dateLocalDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
 3     //Timestamp轉LocalDateTime
 4     LocalDateTime timestampLocalDateTime = timestamp.toLocalDateTime();
 5     //Calendar轉LocalDateTime
 6     LocalDateTime calendarLocalDateTime = LocalDateTime.ofInstant(calendar.toInstant(), ZoneOffset.systemDefault());
 7     //Instant轉LocalDateTime
 8     LocalDateTime instantLocalDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
 9     //ZonedDateTime轉LocalDateTime
10     LocalDateTime zonedDateTimeLocalDateTime = zonedDateTime.toLocalDateTime();
11     //LocalDate轉LocalDateTime
12     LocalDateTime localDateLocalDateTime = localDate.atStartOfDay();

 

轉ZonedDateTime

 1     //Date轉ZonedDateTime
 2     ZonedDateTime dateZonedDateTime = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
 3     //Timestamp轉ZonedDateTime
 4     ZonedDateTime timestampZonedDateTime = ZonedDateTime.ofInstant(timestamp.toInstant(), ZoneId.systemDefault());
 5     //Calendar轉ZonedDateTime
 6     ZonedDateTime calendarZonedDateTime = ZonedDateTime.ofInstant(calendar.toInstant(), ZoneId.systemDefault());
 7     //Instant轉ZonedDateTime
 8     ZonedDateTime instantZonedDateTime = instant.atZone(ZoneId.systemDefault());
 9     //LocalDateTime轉ZonedDateTime
10     ZonedDateTime localDateTimeZonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
11     //LocalDate轉ZonedDateTime
12     ZonedDateTime localDateZonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());

 

轉Date

 1     //Timestamp轉Date
 2     Date timestampDate = new Date(timestamp.getTime());
 3     //Calendar轉Date
 4     Date calendarDate = calendar.getTime();
 5     //Instant轉Date
 6     Date instantDate = Date.from(instant);
 7     //LocalDateTime轉Date
 8     Date localDateTimeDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
 9     //ZonedDateTime轉Date
10     Date zonedDateTimeDate = Date.from(zonedDateTime.toInstant());
11     //LocalDate轉Date
12     Date localDateDate = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

 

轉Timestamp

 1     //Date轉Timestamp
 2     Timestamp dateTimestamp = new Timestamp(date.getTime());
 3     //Calendar轉Timestamp
 4     Timestamp calendarTimestamp = new Timestamp(calendar.getTimeInMillis());
 5     //Instant轉Timestamp
 6     Timestamp instantTimestamp = Timestamp.from(instant);
 7     //LocalDateTime轉Timestamp
 8     Timestamp localDateTimeTimestamp = Timestamp.valueOf(localDateTime);
 9     //ZonedDateTime轉Timestamp
10     Timestamp zonedDateTimeTimestamp = Timestamp.from(zonedDateTime.toInstant());
11     //LocalDate轉Timestamp
12     Timestamp localDateTimestamp = Timestamp.valueOf(localDate.atStartOfDay());

 

轉Calendar

 1     //Date轉Calendar
 2     Calendar dateCalendar = Calendar.getInstance();
 3     dateCalendar.setTime(date);
 4     //Timestamp轉Calendar
 5     Calendar timestampCalendar = Calendar.getInstance();
 6     timestampCalendar.setTimeInMillis(timestamp.getTime());
 7     //Instant轉Calendar
 8     Calendar instantCalendar = GregorianCalendar.from(ZonedDateTime.ofInstant(instant, ZoneId.systemDefault()));
 9     //LocalDateTime轉Calendar
10     Calendar localDateTimeCalendar = GregorianCalendar.from(ZonedDateTime.of(localDateTime, ZoneId.systemDefault()));
11     //ZonedDateTime轉Calendar
12     Calendar zonedDateTimeInstantCalendar = GregorianCalendar.from(zonedDateTime);
13     //LocalDate轉Calendar
14     Calendar localDateCalendar = GregorianCalendar.from(localDate.atStartOfDay(ZoneId.systemDefault()));

 

轉LocalDate

 1     //Date轉LocalDate
 2     LocalDate dateLocalDate = LocalDate.ofInstant(date.toInstant(), ZoneId.systemDefault());  //jdk11
 3     LocalDate dateLocalDate = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()).toLocalDate();
 4     //Timestamp轉LocalDate
 5     LocalDate timestampLocalDate = timestamp.toLocalDateTime().toLocalDate();
 6     //Calendar轉LocalDate
 7     LocalDate calendarLocalDate = LocalDate.ofInstant(calendar.toInstant(), ZoneOffset.systemDefault());  //jdk11
 8     LocalDate calendarLocalDate = LocalDateTime.ofInstant(calendar.toInstant(), ZoneOffset.systemDefault()).toLocalDate();
 9     //Instant轉LocalDate
10     LocalDate instantLocalDate = LocalDate.ofInstant(instant, ZoneId.systemDefault());  //jdk11
11     LocalDate instantLocalDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalDate();
12     //LocalDateTime轉LocalDate
13     LocalDate localDateTimeLocalDate = localDateTime.toLocalDate();
14     //ZonedDateTime轉LocalDate
15     LocalDate zonedDateTimeLocalDate = zonedDateTime.toLocalDate();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM