사용자 도구

사이트 도구


java:8:datetime

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:8:datetime [2016/09/28 16:18]
kwon37xi
java:8:datetime [2020/01/29 13:33] (현재)
kwon37xi [Java 8 Date & Time]
줄 1: 줄 1:
 ====== Java 8 Date & Time ====== ====== Java 8 Date & Time ======
 +  * [[java:​dateformat|Java DateFormat]]
   * [[http://​www.oracle.com/​technetwork/​articles/​java/​jf14-date-time-2125367.html|Java SE 8 Date and Time]]   * [[http://​www.oracle.com/​technetwork/​articles/​java/​jf14-date-time-2125367.html|Java SE 8 Date and Time]]
   * [[http://​www.mkyong.com/​java8/​java-8-convert-date-to-localdate-and-localdatetime/​|Java 8 – Convert Date to LocalDate and LocalDateTime]]   * [[http://​www.mkyong.com/​java8/​java-8-convert-date-to-localdate-and-localdatetime/​|Java 8 – Convert Date to LocalDate and LocalDateTime]]
 +  * [[https://​docs.oracle.com/​javase/​8/​docs/​api/​java/​time/​format/​DateTimeFormatter.html#​ISO_LOCAL_DATE_TIME|DateTimeFormatter#​ISO_LOCAL_DATE_TIME]] : LocalDateTime ISO 8601 표준 포맷터 ''​2011-12-03T10:​15:​30''​ 
 +  * [[https://​docs.oracle.com/​javase/​8/​docs/​api/​java/​time/​format/​DateTimeFormatter.html#​ISO_OFFSET_DATE_TIME|DateTimeFormatter#​ISO_OFFSET_DATE_TIME]] : Offset DateTime ISO 8601 표준 포맷터 ''​2011-12-03T10:​15:​30+01:​00''​
 ===== java.util.Date <-> LocalDate/​LocalDateTime/​Instant간 변환 ===== ===== java.util.Date <-> LocalDate/​LocalDateTime/​Instant간 변환 =====
   * [[http://​stackoverflow.com/​questions/​21242110/​convert-java-util-date-to-java-time-localdate|datetime - Convert java.util.Date to java.time.LocalDate]]   * [[http://​stackoverflow.com/​questions/​21242110/​convert-java-util-date-to-java-time-localdate|datetime - Convert java.util.Date to java.time.LocalDate]]
  
 <code java> <code java>
- 
 /** /**
  * Calls {@link #​asLocalDate(Date,​ ZoneId)} with the system default time zone.  * Calls {@link #​asLocalDate(Date,​ ZoneId)} with the system default time zone.
줄 19: 줄 20:
  */  */
 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: 줄 42:
  */  */
 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+    ​else {
         return Instant.ofEpochMilli(date.getTime()).atZone(zone).toLocalDateTime();​         return Instant.ofEpochMilli(date.getTime()).atZone(zone).toLocalDateTime();​
 +    }
 } }
  
줄 72: 줄 76:
  */  */
 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)+    ​
 +    ​if (date instanceof java.util.Date) ​{
         return (java.util.Date) date;         return (java.util.Date) date;
-    if (date instanceof LocalDate) +    ​
-        return ​java.util.Date.from(((LocalDate) date).atStartOfDay(zone).toInstant());​ +    ​if (date instanceof LocalDate) ​{ 
-    if (date instanceof LocalDateTime) +        return Date.from(((LocalDate) date).atStartOfDay(zone).toInstant());​ 
-        return ​java.util.Date.from(((LocalDateTime) date).atZone(zone).toInstant());​ +    } 
-    if (date instanceof ZonedDateTime) +    if (date instanceof LocalDateTime) ​{ 
-        return ​java.util.Date.from(((ZonedDateTime) date).toInstant());​ +        return Date.from(((LocalDateTime) date).atZone(zone).toInstant());​ 
-    if (date instanceof Instant) +    } 
-        return ​java.util.Date.from((Instant) date);+    if (date instanceof ZonedDateTime) ​{ 
 +        return Date.from(((ZonedDateTime) date).toInstant());​ 
 +    } 
 +    if (date instanceof Instant) ​{ 
 +        return Date.from((Instant) date); 
 +    }
  
     throw new UnsupportedOperationException("​Don'​t know hot to convert " + date.getClass().getName() + " to java.util.Date"​);​     throw new UnsupportedOperationException("​Don'​t know hot to convert " + date.getClass().getName() + " to java.util.Date"​);​
줄 125: 줄 136:
   * refer to [[http://​docs.oracle.com/​javase/​8/​docs/​api/​java/​time/​Clock.html|java.time.Clock]]   * refer to [[http://​docs.oracle.com/​javase/​8/​docs/​api/​java/​time/​Clock.html|java.time.Clock]]
   * [[http://​blog.freeside.co/​2015/​01/​15/​fixing-current-time-for-tests-with-java-8-s-date-time-api/​|Ad-Hockery - Fixing current time for tests with Java 8's date/time API]]   * [[http://​blog.freeside.co/​2015/​01/​15/​fixing-current-time-for-tests-with-java-8-s-date-time-api/​|Ad-Hockery - Fixing current time for tests with Java 8's date/time API]]
 +  * [[http://​www.baeldung.com/​java-override-system-time|Overriding System Time for Testing in Java | Baeldung]]
 +
java/8/datetime.1475048884.txt.gz · 마지막으로 수정됨: 2016/09/28 16:18 저자 kwon37xi