diff --git a/core-java-modules/core-java-date-operations-4/README.md b/core-java-modules/core-java-date-operations-4/README.md
index e023a5ca53..b7817ebd1e 100644
--- a/core-java-modules/core-java-date-operations-4/README.md
+++ b/core-java-modules/core-java-date-operations-4/README.md
@@ -3,4 +3,3 @@ This module contains articles about date operations in Java.
### Relevant Articles:
-
diff --git a/core-java-modules/core-java-date-operations-4/pom.xml b/core-java-modules/core-java-date-operations-4/pom.xml
index 5153b4b354..317b2cb6e7 100644
--- a/core-java-modules/core-java-date-operations-4/pom.xml
+++ b/core-java-modules/core-java-date-operations-4/pom.xml
@@ -5,6 +5,7 @@
4.0.0
core-java-date-operations-4
core-java-date-operations-4
+
@@ -39,7 +40,7 @@
- 2.12.5
+ 2.12.6
\ No newline at end of file
diff --git a/core-java-modules/core-java-date-operations-4/src/test/java/com/baeldung/longtodate/LongToDateUnitTest.java b/core-java-modules/core-java-date-operations-4/src/test/java/com/baeldung/longtodate/LongToDateUnitTest.java
new file mode 100644
index 0000000000..589411114c
--- /dev/null
+++ b/core-java-modules/core-java-date-operations-4/src/test/java/com/baeldung/longtodate/LongToDateUnitTest.java
@@ -0,0 +1,74 @@
+package com.baeldung.longtodate;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.joda.time.DateTimeZone;
+import org.joda.time.Instant;
+import org.junit.jupiter.api.Test;
+
+class LongToDateUnitTest {
+
+ @Test
+ void givenLongValue_whenUsingInstantClass_thenConvert() {
+ Instant expectedDate = Instant.parse("2020-09-08T12:16:40Z");
+ long seconds = 1599567400L;
+
+ Instant date = Instant.ofEpochSecond(seconds);
+
+ assertEquals(expectedDate, date);
+ }
+
+ @Test
+ void givenLongValue_whenUsingLocalDateClass_thenConvert() {
+ LocalDate expectedDate = LocalDate.of(2023, 10, 17);
+ long epochDay = 19647L;
+
+ LocalDate date = LocalDate.ofEpochDay(epochDay);
+
+ assertEquals(expectedDate, date);
+ }
+
+ @Test
+ void givenLongValue_whenUsingDateClass_thenConvert() throws ParseException {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expectedDate = dateFormat.parse("2023-07-15 22:00:00");
+ long milliseconds = 1689458400000L;
+
+ Date date = new Date(milliseconds);
+
+ assertEquals(expectedDate, date);
+ }
+
+ @Test
+ void givenLongValue_whenUsingCalendarClass_thenConvert() throws ParseException {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+ Date expectedDate = dateFormat.parse("2023-07-15 22:00:00");
+ long milliseconds = 1689458400000L;
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
+ calendar.setTimeInMillis(milliseconds);
+
+ assertEquals(expectedDate, calendar.getTime());
+ }
+
+ @Test
+ void givenLongValue_whenUsingJodaTimeLocalDateClass_thenConvert() {
+ org.joda.time.LocalDate expectedDate = new org.joda.time.LocalDate(2023, 7, 15);
+ long milliseconds = 1689458400000L;
+
+ org.joda.time.LocalDate date = new org.joda.time.LocalDate(milliseconds, DateTimeZone.UTC);
+
+ assertEquals(expectedDate, date);
+ }
+
+}