From ed51850e005d67816f52171498ad41cf63d78434 Mon Sep 17 00:00:00 2001 From: pazis Date: Fri, 20 Sep 2019 10:41:22 +0000 Subject: [PATCH] date to offsetdatetime --- .../conversion/ConvertToOffsetDateTime.java | 17 +++++++++++ .../ConvertToOffsetDateTimeUnitTest.java | 29 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 java-dates-2/src/main/java/com/baeldung/date/conversion/ConvertToOffsetDateTime.java create mode 100644 java-dates-2/src/test/java/com/baeldung/date/conversion/ConvertToOffsetDateTimeUnitTest.java diff --git a/java-dates-2/src/main/java/com/baeldung/date/conversion/ConvertToOffsetDateTime.java b/java-dates-2/src/main/java/com/baeldung/date/conversion/ConvertToOffsetDateTime.java new file mode 100644 index 0000000000..143531bd33 --- /dev/null +++ b/java-dates-2/src/main/java/com/baeldung/date/conversion/ConvertToOffsetDateTime.java @@ -0,0 +1,17 @@ +package com.baeldung.date.conversion; + +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.Date; + +public class ConvertToOffsetDateTime { + + public static OffsetDateTime convert (Date date) { + return date.toInstant().atOffset(ZoneOffset.UTC); + } + + public static OffsetDateTime convert (Date date, int hour, int minute) { + return date.toInstant().atOffset(ZoneOffset.ofHoursMinutes(hour, minute)); + } + +} diff --git a/java-dates-2/src/test/java/com/baeldung/date/conversion/ConvertToOffsetDateTimeUnitTest.java b/java-dates-2/src/test/java/com/baeldung/date/conversion/ConvertToOffsetDateTimeUnitTest.java new file mode 100644 index 0000000000..cb9d3daf3d --- /dev/null +++ b/java-dates-2/src/test/java/com/baeldung/date/conversion/ConvertToOffsetDateTimeUnitTest.java @@ -0,0 +1,29 @@ +package com.baeldung.date.conversion; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.time.OffsetDateTime; +import java.util.Date; + +import org.junit.Test; + +public class ConvertToOffsetDateTimeUnitTest { + + @Test + public void whenDateIsNotNull_thenConvertToOffsetDateTime() { + Date date = new Date(); + assertTrue(ConvertToOffsetDateTime.convert(date) instanceof OffsetDateTime); + } + + @Test + public void givenDate_whenHasOffset_thenConvertWithOffset() { + Date date = new Date(); + date.setHours(6); + date.setMinutes(30); + OffsetDateTime odt = ConvertToOffsetDateTime.convert(date, 3, 30); + assertEquals(10, odt.getHour()); + assertEquals(0, odt.getMinute()); + } + +}