DateUtils.java
package net.andresbustamante.yafoot.commons.util;
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
/**
* Date transformation utilities.
*
* @author andresbustamante
*/
public final class DateUtils {
private DateUtils() {
// no-op
}
/**
* Transforms an old Date object into a LocalDateTime object.
*
* @param date Date to transform
* @return LocalDateTime equivalent date
*/
public static LocalDateTime toLocalDateTime(final Date date) {
if (date == null) {
return null;
}
Calendar calendar = Calendar.getInstance();
return LocalDateTime.ofInstant(date.toInstant(), calendar.getTimeZone().toZoneId());
}
/**
* Transforms a date-time from OffsetDateTime to LocalDateTime.
*
* @param dateTime Date-time to transform
* @return Resulting LocalDateTime
*/
public static LocalDateTime toLocalDateTime(final OffsetDateTime dateTime) {
return dateTime != null ? dateTime.atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime() : null;
}
/**
* Transforms a date-time from LocalDateTime to OffsetDateTime using the default timezone configured for Spring.
*
* @param dateTime Date-time to transform
* @return Resulting OffsetDateTime
*/
public static OffsetDateTime toOffsetDateTime(final LocalDateTime dateTime) {
return dateTime != null ? dateTime.atZone(ZoneId.systemDefault()).toOffsetDateTime() : null;
}
}