diff options
author | Vitaly Takmazov | 2018-11-01 13:03:27 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2018-11-01 13:03:27 +0300 |
commit | 406d72ea371b95e30be68a511b9c516b67d34fd3 (patch) | |
tree | 89ceade567d3db0601dd9987243c6ed97faa2eb4 /juick-common/src/main | |
parent | ee4c1ef3b11d66129f64ca5361e9a7ef15779395 (diff) |
RFC1123 http date formatter (2DIGIT day-of-month)
Diffstat (limited to 'juick-common/src/main')
-rw-r--r-- | juick-common/src/main/java/com/juick/util/DateFormatter.java | 7 | ||||
-rw-r--r-- | juick-common/src/main/java/com/juick/util/DateFormattersHolder.java | 15 |
2 files changed, 19 insertions, 3 deletions
diff --git a/juick-common/src/main/java/com/juick/util/DateFormatter.java b/juick-common/src/main/java/com/juick/util/DateFormatter.java index f9e23a91..8f569562 100644 --- a/juick-common/src/main/java/com/juick/util/DateFormatter.java +++ b/juick-common/src/main/java/com/juick/util/DateFormatter.java @@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneOffset; +import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.Locale; @@ -39,7 +40,7 @@ public class DateFormatter { if (ts == null) return null; - LocalDateTime ldt = LocalDateTime.ofInstant(ts, ZoneOffset.UTC); + ZonedDateTime ldt = ZonedDateTime.ofInstant(ts, ZoneOffset.UTC); return ldt.format(formatter); } @@ -49,8 +50,8 @@ public class DateFormatter { if (StringUtils.isBlank(v)) return null; - LocalDateTime ldt = LocalDateTime.parse(v, formatter); + ZonedDateTime ldt = ZonedDateTime.parse(v, formatter); - return ldt.toInstant(ZoneOffset.UTC); + return ldt.toInstant(); } } diff --git a/juick-common/src/main/java/com/juick/util/DateFormattersHolder.java b/juick-common/src/main/java/com/juick/util/DateFormattersHolder.java index 09fd17d7..8292e68e 100644 --- a/juick-common/src/main/java/com/juick/util/DateFormattersHolder.java +++ b/juick-common/src/main/java/com/juick/util/DateFormattersHolder.java @@ -57,4 +57,19 @@ public class DateFormattersHolder { } return localInstance; } + + private static volatile DateFormatter httpDateFormatter; + + public static DateFormatter getHttpDateFormatter() { + DateFormatter localInstance = httpDateFormatter; + if (localInstance == null) { + synchronized (DateFormatter.class) { + localInstance = httpDateFormatter; + if (localInstance == null) { + httpDateFormatter = localInstance = new DateFormatter("EEE, dd MMM yyyy HH:mm:ss O"); + } + } + } + return localInstance; + } } |