From 2d3ac05704911c462ea62faca302731dd949e274 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Sat, 23 Mar 2019 17:03:37 +0400 Subject: [PATCH 1/9] convert java8 to milliseconds --- .../com/baeldung/convert/ConvertDateTime.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java diff --git a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java new file mode 100644 index 0000000000..548912ea07 --- /dev/null +++ b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java @@ -0,0 +1,33 @@ +package com.baeldung.convert; + +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +public class ConvertDateTime { + + public static void main(String[] args) { + + java8(); + joda(); + } + + private static void joda() { + String s = "00:00:01.2"; + DateTimeFormatter format = DateTimeFormat.forPattern("HH:mm:ss.S"); + DateTime dateTime = format.parseDateTime(s); + System.out.println(dateTime.getMillisOfSecond()); + } + + private static void java8() { + LocalDateTime localDateTime = LocalDateTime.now(); + + ZoneId id = ZoneId.systemDefault(); + ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); + System.out.println(zdt.toInstant().toEpochMilli()); + } +} From 6c6e9ed53dc3a68523da6f53393065a943f9fe2c Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Sun, 24 Mar 2019 11:08:54 +0400 Subject: [PATCH 2/9] convert with simple date formatting --- .../com/baeldung/convert/ConvertDateTime.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java index 548912ea07..c4d771a7e6 100644 --- a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java +++ b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java @@ -4,16 +4,39 @@ import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.util.Calendar; +import java.util.Date; public class ConvertDateTime { - public static void main(String[] args) { + public static void main(String[] args) throws ParseException { java8(); joda(); + Date date = simpleDateTimeFormatter(); + calendar(date); + } + + private static void calendar(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + System.out.println("Calender - Time in milliseconds : " + calendar.getTimeInMillis()); + } + + private static Date simpleDateTimeFormatter() throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); + String dateInString = "22-01-2015 10:20:56"; + Date date = sdf.parse(dateInString); + + System.out.println(dateInString); + System.out.println("Date - Time in milliseconds : " + date.getTime()); + + return date; } private static void joda() { From 3b43bddf04bb0b25c51ffad2645a59c9dc5f8334 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Thu, 4 Apr 2019 10:12:04 +0400 Subject: [PATCH 3/9] convert final --- .../com/baeldung/convert/ConvertDateTime.java | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java index c4d771a7e6..d52dd1b989 100644 --- a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java +++ b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java @@ -1,9 +1,5 @@ package com.baeldung.convert; -import org.joda.time.DateTime; -import org.joda.time.format.DateTimeFormat; -import org.joda.time.format.DateTimeFormatter; - import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; @@ -22,35 +18,32 @@ public class ConvertDateTime { calendar(date); } + private static Date simpleDateTimeFormatter() throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); + String dateInString = "22-04-2019 10:20:56"; + Date date = sdf.parse(dateInString); + + System.out.println("Date - Time in milliseconds : " + date.getTime()); + + return date; + } + private static void calendar(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); System.out.println("Calender - Time in milliseconds : " + calendar.getTimeInMillis()); } - private static Date simpleDateTimeFormatter() throws ParseException { - SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); - String dateInString = "22-01-2015 10:20:56"; - Date date = sdf.parse(dateInString); - - System.out.println(dateInString); - System.out.println("Date - Time in milliseconds : " + date.getTime()); - - return date; - } - private static void joda() { - String s = "00:00:01.2"; - DateTimeFormatter format = DateTimeFormat.forPattern("HH:mm:ss.S"); - DateTime dateTime = format.parseDateTime(s); - System.out.println(dateTime.getMillisOfSecond()); + org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(new Date()); + long delta = jodaDateTime.getMillis(); + System.out.println("Joda - Time in milliseconds : " + delta); } private static void java8() { LocalDateTime localDateTime = LocalDateTime.now(); - ZoneId id = ZoneId.systemDefault(); ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); - System.out.println(zdt.toInstant().toEpochMilli()); + System.out.println("Java 8 - Time in milliseconds : " + zdt.toInstant().toEpochMilli()); } } From 3ae6a124f0e36eb3f9aaee982bf63e927ea858c7 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Mon, 15 Apr 2019 11:04:54 +0400 Subject: [PATCH 4/9] JODA INSTANT to millis --- .../main/java/com/baeldung/convert/ConvertDateTime.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java index d52dd1b989..d13075e063 100644 --- a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java +++ b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java @@ -1,5 +1,7 @@ package com.baeldung.convert; +import org.joda.time.Instant; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; @@ -35,9 +37,12 @@ public class ConvertDateTime { } private static void joda() { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(new Date()); + org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(); long delta = jodaDateTime.getMillis(); System.out.println("Joda - Time in milliseconds : " + delta); + + Instant jodaInstant = Instant.now(); + System.out.println("Joda - Instant in milliseconds : " + jodaInstant.getMillis()); } private static void java8() { From bbe21ca7e93016f53499cae850cc3b1065074571 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Tue, 16 Apr 2019 12:19:46 +0400 Subject: [PATCH 5/9] Java 8 Instant --- .../java/com/baeldung/convert/ConvertDateTime.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java index d13075e063..d5003af746 100644 --- a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java +++ b/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java @@ -3,7 +3,6 @@ package com.baeldung.convert; import org.joda.time.Instant; import java.text.ParseException; -import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; @@ -12,18 +11,16 @@ import java.util.Date; public class ConvertDateTime { - public static void main(String[] args) throws ParseException { + public static void main(String[] args) { java8(); joda(); - Date date = simpleDateTimeFormatter(); + Date date = coreDate(); calendar(date); } - private static Date simpleDateTimeFormatter() throws ParseException { - SimpleDateFormat sdf = new SimpleDateFormat("dd-M-yyyy hh:mm:ss"); - String dateInString = "22-04-2019 10:20:56"; - Date date = sdf.parse(dateInString); + private static Date coreDate() { + Date date = new Date(); System.out.println("Date - Time in milliseconds : " + date.getTime()); @@ -46,6 +43,8 @@ public class ConvertDateTime { } private static void java8() { + long instantMillis = java.time.Instant.now().toEpochMilli(); + LocalDateTime localDateTime = LocalDateTime.now(); ZoneId id = ZoneId.systemDefault(); ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); From eff19c7163d6a2d29f2c7f1b3b5d1038454697c7 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Wed, 17 Apr 2019 11:13:46 +0400 Subject: [PATCH 6/9] create java-dates-2 module --- java-dates-2/pom.xml | 26 +++++++++++++++++++ .../src/main/java}/ConvertDateTime.java | 3 --- 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 java-dates-2/pom.xml rename {java-dates/src/main/java/com/baeldung/convert => java-dates-2/src/main/java}/ConvertDateTime.java (95%) diff --git a/java-dates-2/pom.xml b/java-dates-2/pom.xml new file mode 100644 index 0000000000..427a7adc4b --- /dev/null +++ b/java-dates-2/pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + com.baeldung + java-dates-2 + 1.0-SNAPSHOT + + + + joda-time + joda-time + ${joda-time.version} + + + + +2.10 + +1.8 +1.8 + + + \ No newline at end of file diff --git a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates-2/src/main/java/ConvertDateTime.java similarity index 95% rename from java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java rename to java-dates-2/src/main/java/ConvertDateTime.java index d5003af746..9f4ac0062b 100644 --- a/java-dates/src/main/java/com/baeldung/convert/ConvertDateTime.java +++ b/java-dates-2/src/main/java/ConvertDateTime.java @@ -1,8 +1,5 @@ -package com.baeldung.convert; - import org.joda.time.Instant; -import java.text.ParseException; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; From f3f4c32f014bb46e212462cbaa5afbc38a94c4b0 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Wed, 17 Apr 2019 12:05:08 +0400 Subject: [PATCH 7/9] JUnit to output millis --- java-dates-2/pom.xml | 7 +++ .../src/main/java/ConvertDateTime.java | 50 ------------------- .../com/baeldung/convert/ConvertDateTime.java | 45 +++++++++++++++++ .../convert/ConvertDateTimeUnitTest.java | 13 +++++ 4 files changed, 65 insertions(+), 50 deletions(-) delete mode 100644 java-dates-2/src/main/java/ConvertDateTime.java create mode 100644 java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java create mode 100644 java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java diff --git a/java-dates-2/pom.xml b/java-dates-2/pom.xml index 427a7adc4b..3af13eee39 100644 --- a/java-dates-2/pom.xml +++ b/java-dates-2/pom.xml @@ -8,6 +8,13 @@ java-dates-2 1.0-SNAPSHOT + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../parent-java + + joda-time diff --git a/java-dates-2/src/main/java/ConvertDateTime.java b/java-dates-2/src/main/java/ConvertDateTime.java deleted file mode 100644 index 9f4ac0062b..0000000000 --- a/java-dates-2/src/main/java/ConvertDateTime.java +++ /dev/null @@ -1,50 +0,0 @@ -import org.joda.time.Instant; - -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Calendar; -import java.util.Date; - -public class ConvertDateTime { - - public static void main(String[] args) { - - java8(); - joda(); - Date date = coreDate(); - calendar(date); - } - - private static Date coreDate() { - Date date = new Date(); - - System.out.println("Date - Time in milliseconds : " + date.getTime()); - - return date; - } - - private static void calendar(Date date) { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - System.out.println("Calender - Time in milliseconds : " + calendar.getTimeInMillis()); - } - - private static void joda() { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(); - long delta = jodaDateTime.getMillis(); - System.out.println("Joda - Time in milliseconds : " + delta); - - Instant jodaInstant = Instant.now(); - System.out.println("Joda - Instant in milliseconds : " + jodaInstant.getMillis()); - } - - private static void java8() { - long instantMillis = java.time.Instant.now().toEpochMilli(); - - LocalDateTime localDateTime = LocalDateTime.now(); - ZoneId id = ZoneId.systemDefault(); - ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); - System.out.println("Java 8 - Time in milliseconds : " + zdt.toInstant().toEpochMilli()); - } -} diff --git a/java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java new file mode 100644 index 0000000000..b63b26da69 --- /dev/null +++ b/java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java @@ -0,0 +1,45 @@ +package com.baeldung.convert; + +import org.joda.time.Instant; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Calendar; +import java.util.Date; + +public class ConvertDateTime { + + public static long coreDate() { + Date date = new Date(); + return date.getTime(); + } + + public static long calendar() { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + return calendar.getTimeInMillis(); + } + + public static long jodaInstant() { + Instant jodaInstant = Instant.now(); + return jodaInstant.getMillis(); + } + + public static long jodaDateTime() { + org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(); + return jodaDateTime.getMillis(); + } + + public static long java8Instant() { + return java.time.Instant.now().toEpochMilli(); + } + + public static long java8LocalDateTime() { + + LocalDateTime localDateTime = LocalDateTime.now(); + ZoneId id = ZoneId.systemDefault(); + ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); + return zdt.toInstant().toEpochMilli(); + } +} diff --git a/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java b/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java new file mode 100644 index 0000000000..a2e15461d0 --- /dev/null +++ b/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java @@ -0,0 +1,13 @@ +package com.baeldung.convert; + +import org.junit.Test; + +public class ConvertDateTimeUnitTest { + + @Test + public void givenLocalDateTime_WhenGetMillis() { + long millis = ConvertDateTime.java8LocalDateTime(); + System.out.println("LocalDateTime in milliseconds : " + millis); + } + +} From 637f2e945aaceb5c4b3162660bd45fc0cd6de1b2 Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Thu, 18 Apr 2019 16:05:44 +0400 Subject: [PATCH 8/9] added unit tests --- .../convert/ConvertDateTimeUnitTest.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java b/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java index a2e15461d0..616566732f 100644 --- a/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java +++ b/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java @@ -10,4 +10,33 @@ public class ConvertDateTimeUnitTest { System.out.println("LocalDateTime in milliseconds : " + millis); } + @Test + public void givenJava8Instant_WhenGetMillis() { + long millis = ConvertDateTime.java8Instant(); + System.out.println("Java 8 Instant in milliseconds : " + millis); + } + + @Test + public void givenDate_WhenGetMillis() { + long millis = ConvertDateTime.coreDate(); + System.out.println("Core Date in milliseconds : " + millis); + } + + @Test + public void givenCalendar_WhenGetMillis() { + long millis = ConvertDateTime.calendar(); + System.out.println("Calendar in milliseconds : " + millis); + } + + @Test + public void givenJodaInstant_WhenGetMillis() { + long millis = ConvertDateTime.jodaInstant(); + System.out.println("JODA Instant in milliseconds : " + millis); + } + + @Test + public void givenJODADateTime_WhenGetMillis() { + long millis = ConvertDateTime.jodaDateTime(); + System.out.println("JODA DateTime in milliseconds : " + millis); + } } From f1ef8d933588cb46b3e9b0860460e67b3ddeee6b Mon Sep 17 00:00:00 2001 From: mherbaghinyan Date: Thu, 25 Apr 2019 14:06:00 +0400 Subject: [PATCH 9/9] move the code to unit tests --- .../com/baeldung/convert/ConvertDateTime.java | 45 ---------------- .../convert/ConvertDateTimeUnitTest.java | 53 ++++++++++++------- 2 files changed, 35 insertions(+), 63 deletions(-) delete mode 100644 java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java diff --git a/java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java b/java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java deleted file mode 100644 index b63b26da69..0000000000 --- a/java-dates-2/src/main/java/com/baeldung/convert/ConvertDateTime.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.baeldung.convert; - -import org.joda.time.Instant; - -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Calendar; -import java.util.Date; - -public class ConvertDateTime { - - public static long coreDate() { - Date date = new Date(); - return date.getTime(); - } - - public static long calendar() { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - return calendar.getTimeInMillis(); - } - - public static long jodaInstant() { - Instant jodaInstant = Instant.now(); - return jodaInstant.getMillis(); - } - - public static long jodaDateTime() { - org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(); - return jodaDateTime.getMillis(); - } - - public static long java8Instant() { - return java.time.Instant.now().toEpochMilli(); - } - - public static long java8LocalDateTime() { - - LocalDateTime localDateTime = LocalDateTime.now(); - ZoneId id = ZoneId.systemDefault(); - ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); - return zdt.toInstant().toEpochMilli(); - } -} diff --git a/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java b/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java index 616566732f..cd31ccc799 100644 --- a/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java +++ b/java-dates-2/src/test/java/com/baeldung/convert/ConvertDateTimeUnitTest.java @@ -1,42 +1,59 @@ package com.baeldung.convert; +import org.joda.time.Instant; +import org.junit.Assert; import org.junit.Test; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Calendar; +import java.util.Date; + public class ConvertDateTimeUnitTest { + public final long millis = 1556175797428L; + @Test - public void givenLocalDateTime_WhenGetMillis() { - long millis = ConvertDateTime.java8LocalDateTime(); - System.out.println("LocalDateTime in milliseconds : " + millis); + public void givenLocalDateTime_WhenToEpochMillis_ThenMillis() { + ZoneId id = ZoneId.systemDefault(); + + LocalDateTime localDateTime = + LocalDateTime.ofInstant(java.time.Instant.ofEpochMilli(millis), id); + + ZonedDateTime zdt = ZonedDateTime.of(localDateTime, id); + + Assert.assertEquals(millis, zdt.toInstant().toEpochMilli()); } @Test - public void givenJava8Instant_WhenGetMillis() { - long millis = ConvertDateTime.java8Instant(); - System.out.println("Java 8 Instant in milliseconds : " + millis); + public void givenJava8Instant_WhenGToEpochMillis_ThenMillis() { + java.time.Instant instant = java.time.Instant.ofEpochMilli(millis); + Assert.assertEquals(millis, instant.toEpochMilli()); } @Test - public void givenDate_WhenGetMillis() { - long millis = ConvertDateTime.coreDate(); - System.out.println("Core Date in milliseconds : " + millis); + public void givenDate_WhenGetTime_ThenMillis() { + Date date = new Date(millis); + Assert.assertEquals(millis, date.getTime()); } @Test - public void givenCalendar_WhenGetMillis() { - long millis = ConvertDateTime.calendar(); - System.out.println("Calendar in milliseconds : " + millis); + public void givenCalendar_WhenGetTimeInMillis_ThenMillis() { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date(millis)); + Assert.assertEquals(millis, calendar.getTimeInMillis()); } @Test - public void givenJodaInstant_WhenGetMillis() { - long millis = ConvertDateTime.jodaInstant(); - System.out.println("JODA Instant in milliseconds : " + millis); + public void givenJodaInstant_WhenGetMillis_ThenMillis() { + Instant jodaInstant = Instant.ofEpochMilli(millis); + Assert.assertEquals(millis, jodaInstant.getMillis()); } @Test - public void givenJODADateTime_WhenGetMillis() { - long millis = ConvertDateTime.jodaDateTime(); - System.out.println("JODA DateTime in milliseconds : " + millis); + public void givenJODADateTime_WhenGetMillis_ThenMillis() { + org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(millis); + Assert.assertEquals(millis, jodaDateTime.getMillis()); } }