문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:8:datetime [2016/09/28 16:18] kwon37xi |
java:8:datetime [2016/11/11 12:50] kwon37xi [Java 8 Date & Time] |
||
---|---|---|---|
줄 2: | 줄 2: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
===== java.util.Date <-> LocalDate/ | ===== java.util.Date <-> LocalDate/ | ||
* [[http:// | * [[http:// | ||
<code java> | <code java> | ||
- | |||
/** | /** | ||
* Calls {@link # | * Calls {@link # | ||
줄 19: | 줄 19: | ||
*/ | */ | ||
public static LocalDate asLocalDate(java.util.Date date, ZoneId zone) { | public static LocalDate asLocalDate(java.util.Date date, ZoneId zone) { | ||
- | if (date == null) | + | if (date == null) { |
return null; | return null; | ||
+ | } | ||
if (date instanceof java.sql.Date) { | if (date instanceof java.sql.Date) { | ||
줄 40: | 줄 41: | ||
*/ | */ | ||
public static LocalDateTime asLocalDateTime(java.util.Date date, ZoneId zone) { | public static LocalDateTime asLocalDateTime(java.util.Date date, ZoneId zone) { | ||
- | if (date == null) | + | if (date == null) { |
return null; | return null; | ||
+ | } | ||
- | if (date instanceof java.sql.Timestamp) | + | if (date instanceof java.sql.Timestamp) |
return ((java.sql.Timestamp) date).toLocalDateTime(); | return ((java.sql.Timestamp) date).toLocalDateTime(); | ||
- | else | + | |
return Instant.ofEpochMilli(date.getTime()).atZone(zone).toLocalDateTime(); | return Instant.ofEpochMilli(date.getTime()).atZone(zone).toLocalDateTime(); | ||
+ | } | ||
} | } | ||
줄 72: | 줄 75: | ||
*/ | */ | ||
public static java.util.Date asUtilDate(Object date, ZoneId zone) { | public static java.util.Date asUtilDate(Object date, ZoneId zone) { | ||
- | if (date == null) | + | if (date == null) { |
return null; | return null; | ||
+ | } | ||
- | if (date instanceof java.sql.Date || date instanceof java.sql.Timestamp) | + | if (date instanceof java.sql.Date || date instanceof java.sql.Timestamp) |
return new java.util.Date(((java.util.Date) date).getTime()); | return new java.util.Date(((java.util.Date) date).getTime()); | ||
- | if (date instanceof java.util.Date) | + | |
+ | | ||
return (java.util.Date) date; | return (java.util.Date) date; | ||
- | if (date instanceof LocalDate) | + | |
- | return | + | |
- | if (date instanceof LocalDateTime) | + | return Date.from(((LocalDate) date).atStartOfDay(zone).toInstant()); |
- | return | + | } |
- | if (date instanceof ZonedDateTime) | + | if (date instanceof LocalDateTime) |
- | return | + | return Date.from(((LocalDateTime) date).atZone(zone).toInstant()); |
- | if (date instanceof Instant) | + | } |
- | return | + | if (date instanceof ZonedDateTime) |
+ | return Date.from(((ZonedDateTime) date).toInstant()); | ||
+ | } | ||
+ | if (date instanceof Instant) | ||
+ | return Date.from((Instant) date); | ||
+ | } | ||
throw new UnsupportedOperationException(" | throw new UnsupportedOperationException(" |