added more date util functions
This commit is contained in:
@ -2,6 +2,7 @@ package de.muehlencord.shared.util;
|
|||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
@ -21,29 +22,44 @@ public class DateUtil {
|
|||||||
public static Date getDate(final LocalDate localDate) {
|
public static Date getDate(final LocalDate localDate) {
|
||||||
return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Date getUtcDate(final LocalDate localDate) {
|
public static Date getUtcDate(final LocalDate localDate) {
|
||||||
return Date.from(localDate.atStartOfDay(ZoneId.of("UTC")).toInstant());
|
return Date.from(localDate.atStartOfDay(ZoneId.of("UTC")).toInstant());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LocalDate getDate(final Date date) {
|
public static LocalDate getDate(final Date date) {
|
||||||
if (date == null)
|
if (date == null) {
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
// ensure to call toInstant on java.util.Date and not on java.sql.Date because this will throw an UnsupportedOperationException
|
// 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()
|
// see Java doc of java.sql.Date.toInstant()
|
||||||
Instant instant = new java.util.Date(date.getTime()).toInstant();
|
Instant instant = new java.util.Date(date.getTime()).toInstant();
|
||||||
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
|
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
|
||||||
return zdt.toLocalDate();
|
return zdt.toLocalDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LocalDate getUtcDate(final Date date) {
|
public static LocalDateTime getDateTime(final Date date) {
|
||||||
if (date == null)
|
if (date == null) {
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
|
return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
// 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()
|
// see Java doc of java.sql.Date.toInstant()
|
||||||
Instant instant = new java.util.Date(date.getTime()).toInstant();
|
Instant instant = new java.util.Date(date.getTime()).toInstant();
|
||||||
ZonedDateTime zdt = instant.atZone(ZoneId.of("UTC"));
|
ZonedDateTime zdt = instant.atZone(ZoneId.of("UTC"));
|
||||||
return zdt.toLocalDate();
|
return zdt.toLocalDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LocalDateTime getUtcDateTime(final Date date) {
|
||||||
|
if (date == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.of("UTC")).toLocalDateTime();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user