From c519d2be47c15ecad61d3f9e21b3e198c565d352 Mon Sep 17 00:00:00 2001 From: michaelin007 Date: Fri, 24 Nov 2023 09:35:01 +0000 Subject: [PATCH 1/2] https://jira.baeldung.com/browse/BAEL-7268 --- .../baeldung/unixtime/UnixTimeUnitTest.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java diff --git a/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java b/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java new file mode 100644 index 0000000000..d1518ceef5 --- /dev/null +++ b/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java @@ -0,0 +1,50 @@ +package com.baeldung.unixtime; + + +import static org.junit.Assert.assertEquals; + +import java.time.Instant; +import java.util.Date; + +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.junit.jupiter.api.Test; + +public class UnixTimeUnitTest { + + @Test + public void givenCurrentTimeUsingDateApi_whenConvertedToUnixTime_thenConsistent() { + long marginOfError = 1L; + Date date = new Date(); + long longTime = date.getTime() / 1000L; + + for (int i = 0; i < 10; i++) { + long unixTime = System.currentTimeMillis() / 1000L; + assertEquals(longTime, unixTime, marginOfError); + } + } + + @Test + public void givenCurrentTimeUsingInstantNow_whenConvertedToUnixTime_thenConsistent() { + long marginOfError = 1L; + long longTime = Instant.now().getEpochSecond(); + + for (int i = 0; i < 10; i++) { + long unixTime = System.currentTimeMillis() / 1000L; + assertEquals(longTime, unixTime, marginOfError); + } + } + + @Test + public void givenCurrentTimeUsingJodaTime_whenConvertedToUnixTime_thenConsistent() { + long marginOfError = 1L; + DateTime dateTime = DateTime.now(DateTimeZone.UTC); + long longTime = dateTime.getMillis() / 1000L; + + for (int i = 0; i < 10; i++) { + long unixTime = System.currentTimeMillis() / 1000L; + assertEquals(longTime, unixTime, marginOfError); + } + } + +} From fa272d33953eb2b765be896acba462a5f2a28650 Mon Sep 17 00:00:00 2001 From: michaelin007 Date: Sat, 25 Nov 2023 05:25:47 +0000 Subject: [PATCH 2/2] Retrieving Unix Time in Java --- .../baeldung/unixtime/UnixTimeUnitTest.java | 50 ++++++++----------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java b/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java index d1518ceef5..eedd897e91 100644 --- a/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java +++ b/core-java-modules/core-java-8-datetime-2/src/test/java/com/baeldung/unixtime/UnixTimeUnitTest.java @@ -1,50 +1,42 @@ package com.baeldung.unixtime; - import static org.junit.Assert.assertEquals; - import java.time.Instant; +import java.time.LocalDate; + +import java.time.Month; +import java.time.ZoneId; import java.util.Date; import org.joda.time.DateTime; -import org.joda.time.DateTimeZone; + import org.junit.jupiter.api.Test; public class UnixTimeUnitTest { @Test - public void givenCurrentTimeUsingDateApi_whenConvertedToUnixTime_thenConsistent() { - long marginOfError = 1L; - Date date = new Date(); - long longTime = date.getTime() / 1000L; - - for (int i = 0; i < 10; i++) { - long unixTime = System.currentTimeMillis() / 1000L; - assertEquals(longTime, unixTime, marginOfError); - } + public void givenTimeUsingDateApi_whenConvertedToUnixTime_thenMatch() { + Date date = new Date(2023 - 1900, 1, 15, 0, 0, 0); + long expected = 1676419200; + long actual = date.getTime() / 1000L; + assertEquals(expected, actual); } @Test - public void givenCurrentTimeUsingInstantNow_whenConvertedToUnixTime_thenConsistent() { - long marginOfError = 1L; - long longTime = Instant.now().getEpochSecond(); - - for (int i = 0; i < 10; i++) { - long unixTime = System.currentTimeMillis() / 1000L; - assertEquals(longTime, unixTime, marginOfError); - } + public void givenTimeUsingJodaTime_whenConvertedToUnixTime_thenMatch() { + DateTime dateTime = new DateTime(2023, 2, 15, 00, 00, 00, 0); + long expected = 1676419200; + long actual = dateTime.getMillis() / 1000L; + assertEquals(expected, actual); } @Test - public void givenCurrentTimeUsingJodaTime_whenConvertedToUnixTime_thenConsistent() { - long marginOfError = 1L; - DateTime dateTime = DateTime.now(DateTimeZone.UTC); - long longTime = dateTime.getMillis() / 1000L; - - for (int i = 0; i < 10; i++) { - long unixTime = System.currentTimeMillis() / 1000L; - assertEquals(longTime, unixTime, marginOfError); - } + public void givenTimeUsingLocalDate_whenConvertedToUnixTime_thenMatch() { + LocalDate date = LocalDate.of(2023, Month.FEBRUARY, 15); + Instant instant = date.atStartOfDay().atZone(ZoneId.of("UTC")).toInstant(); + long expected = 1676419200; + long actual = instant.getEpochSecond(); + assertEquals(expected, actual); } }