From 9f301136f042ed62d69464bd826ad9bc8df540d3 Mon Sep 17 00:00:00 2001 From: jomu Date: Fri, 25 Jan 2019 17:17:29 +0100 Subject: [PATCH] added getUtcDate methods --- .../java/de/muehlencord/shared/util/DateUtil.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/util/src/main/java/de/muehlencord/shared/util/DateUtil.java b/util/src/main/java/de/muehlencord/shared/util/DateUtil.java index 28142c4..b0563ee 100644 --- a/util/src/main/java/de/muehlencord/shared/util/DateUtil.java +++ b/util/src/main/java/de/muehlencord/shared/util/DateUtil.java @@ -21,6 +21,10 @@ public class DateUtil { public static Date getDate(final LocalDate localDate) { return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); } + + public static Date getUtcDate(final LocalDate localDate) { + return Date.from(localDate.atStartOfDay(ZoneId.of("UTC")).toInstant()); + } public static LocalDate getDate(final Date date) { if (date == null) @@ -31,5 +35,15 @@ public class DateUtil { ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault()); return zdt.toLocalDate(); } + + public static LocalDate getUtcDate(final Date date) { + if (date == null) + return null; + // ensure to call toInstant on java.util.Date and not on java.sql.Date because this will throw an UnsupportedOperationException + // see Java doc of java.sql.Date.toInstant() + Instant instant = new java.util.Date(date.getTime()).toInstant(); + ZonedDateTime zdt = instant.atZone(ZoneId.of("UTC")); + return zdt.toLocalDate(); + } }