diff --git a/quartz-manager-parent/quartz-manager-common/pom.xml b/quartz-manager-parent/quartz-manager-common/pom.xml index 0a7ecb7..e61e96b 100644 --- a/quartz-manager-parent/quartz-manager-common/pom.xml +++ b/quartz-manager-parent/quartz-manager-common/pom.xml @@ -6,17 +6,26 @@ 3.1.1-SNAPSHOT quartz-manager-common - + org.projectlombok lombok provided + + org.springframework.boot + spring-boot-starter-test + test + + + org.junit.platform + junit-platform-launcher + test + org.junit.jupiter junit-jupiter-engine - 5.8.1 test diff --git a/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtils.java b/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtils.java index a66535e..53ce7fb 100644 --- a/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtils.java +++ b/quartz-manager-parent/quartz-manager-common/src/main/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtils.java @@ -3,16 +3,21 @@ package it.fabioformosa.quartzmanager.api.common.utils; import java.time.Duration; import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.Date; public class DateUtils { - static public Date fromLocaleDateTimeToDate(LocalDateTime localDateTime){ - return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); + static public Date fromLocalDateTimeToDate(LocalDateTime localDateTime){ + return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant().truncatedTo(ChronoUnit.MILLIS)); } - static public Date getHoursFromNow(long hours){ - return DateUtils.fromLocaleDateTimeToDate(LocalDateTime.now().plus(Duration.ofHours(hours))); + static public LocalDateTime fromDateToLocalDateTime(Date date) { + return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().truncatedTo(ChronoUnit.MILLIS); + } + + static public Date addHoursToNow(long hours){ + return DateUtils.fromLocalDateTimeToDate(LocalDateTime.now().plus(Duration.ofHours(hours))); } } diff --git a/quartz-manager-parent/quartz-manager-common/src/test/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtilsTest.java b/quartz-manager-parent/quartz-manager-common/src/test/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtilsTest.java new file mode 100644 index 0000000..e965a36 --- /dev/null +++ b/quartz-manager-parent/quartz-manager-common/src/test/java/it/fabioformosa/quartzmanager/api/common/utils/DateUtilsTest.java @@ -0,0 +1,20 @@ +package it.fabioformosa.quartzmanager.api.common.utils; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.Date; + +class DateUtilsTest { + + @Test + public void givenALocaleDatetime_whenTheConversionIsCalled_shouldGetADate(){ + LocalDateTime originalLocalDateTime = LocalDateTime.now().truncatedTo(ChronoUnit.MILLIS); + Date date = DateUtils.fromLocalDateTimeToDate(originalLocalDateTime); + LocalDateTime convertedLocalDateTime = DateUtils.fromDateToLocalDateTime(date); + Assertions.assertThat(convertedLocalDateTime).isEqualTo(originalLocalDateTime); + } + +}