diff --git a/core-java-8/README.md b/core-java-8/README.md
index c94ae36003..5c740bcba8 100644
--- a/core-java-8/README.md
+++ b/core-java-8/README.md
@@ -13,12 +13,8 @@
- [Strategy Design Pattern in Java 8](http://www.baeldung.com/java-strategy-pattern)
- [Exceptions in Java 8 Lambda Expressions](http://www.baeldung.com/java-lambda-exceptions)
- [Guide to Java 8 Comparator.comparing()](http://www.baeldung.com/java-8-comparator-comparing)
-- [Introduction to the Java 8 Date/Time API](http://www.baeldung.com/java-8-date-time-intro)
-- [Migrating to the New Java 8 Date Time API](http://www.baeldung.com/migrating-to-java-8-date-time-api)
- [Guide To Java 8 Optional](http://www.baeldung.com/java-optional)
- [Guide to the Java 8 forEach](http://www.baeldung.com/foreach-java)
-- [Get the Current Date, Time and Timestamp in Java 8](http://www.baeldung.com/current-date-time-and-timestamp-in-java-8)
-- [TemporalAdjuster in Java](http://www.baeldung.com/java-temporal-adjuster)
- [Finding Max/Min of a List or Collection](http://www.baeldung.com/java-collection-min-max)
- [Java Base64 Encoding and Decoding](http://www.baeldung.com/java-base64-encode-and-decode)
- [The Difference Between map() and flatMap()](http://www.baeldung.com/java-difference-map-and-flatmap)
diff --git a/core-java-9/README.md b/core-java-9/README.md
index 8c869f56bb..6f10f432a6 100644
--- a/core-java-9/README.md
+++ b/core-java-9/README.md
@@ -15,9 +15,7 @@
- [Introduction to Project Jigsaw](http://www.baeldung.com/project-jigsaw-java-modularity)
- [Java 9 Optional API Additions](http://www.baeldung.com/java-9-optional)
- [Java 9 Reactive Streams](http://www.baeldung.com/java-9-reactive-streams)
-- [How to Get All Dates Between Two Dates?](http://www.baeldung.com/java-between-dates)
- [Java 9 java.util.Objects Additions](http://www.baeldung.com/java-9-objects-new)
-- [Convert Date to LocalDate or LocalDateTime and Back](http://www.baeldung.com/java-date-to-localdate-and-localdatetime)
- [Java 9 Variable Handles Demistyfied](http://www.baeldung.com/java-variable-handles)
- [Exploring the New HTTP Client in Java 9](http://www.baeldung.com/java-9-http-client)
- [Method Handles in Java](http://www.baeldung.com/java-method-handles)
diff --git a/core-java/README.md b/core-java/README.md
index 4914d04dbd..4586d2add9 100644
--- a/core-java/README.md
+++ b/core-java/README.md
@@ -47,7 +47,6 @@
- [How to Get a Name of a Method Being Executed?](http://www.baeldung.com/java-name-of-executing-method)
- [Dynamic Proxies in Java](http://www.baeldung.com/java-dynamic-proxies)
- [How to Copy an Array in Java](http://www.baeldung.com/java-array-copy)
-- [Period and Duration in Java](http://www.baeldung.com/java-period-duration)
- [Converting a Stack Trace to a String in Java](http://www.baeldung.com/java-stacktrace-to-string)
- [Java Double Brace Initialization](http://www.baeldung.com/java-double-brace-initialization)
- [The StackOverflowError in Java](http://www.baeldung.com/java-stack-overflow-error)
@@ -75,7 +74,6 @@
- [A Guide to Java Initialization](http://www.baeldung.com/java-initialization)
- [Implementing a Binary Tree in Java](http://www.baeldung.com/java-binary-tree)
- [A Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random)
-- [RegEx for matching Date Pattern in Java](http://www.baeldung.com/java-date-regular-expressions)
- [Nested Classes in Java](http://www.baeldung.com/java-nested-classes)
- [A Guide to Java Loops](http://www.baeldung.com/java-loops)
- [Varargs in Java](http://www.baeldung.com/java-varargs)
@@ -96,7 +94,6 @@
- [A Practical Guide to DecimalFormat](http://www.baeldung.com/java-decimalformat)
- [How to Detect the OS Using Java](http://www.baeldung.com/java-detect-os)
- [ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java)
-- [Handling Daylight Savings Time in Java](http://www.baeldung.com/java-daylight-savings)
- [Inheritance and Composition (Is-a vs Has-a relationship) in Java](http://www.baeldung.com/java-inheritance-composition)
- [Finding Max/Min of a List or Collection](http://www.baeldung.com/java-collection-min-max)
- [The "final" Keyword in Java](http://www.baeldung.com/java-final)
@@ -136,7 +133,6 @@
- [Jagged Arrays In Java](http://www.baeldung.com/java-jagged-arrays)
- [Importance of Main Manifest Attribute in a Self-Executing JAR](http://www.baeldung.com/java-jar-executable-manifest-main-class)
- [Extracting Year, Month and Day from Date in Java](http://www.baeldung.com/java-year-month-day)
-- [Get Date Without Time in Java](http://www.baeldung.com/java-date-without-time)
- [How to Get the File Extension of a File in Java](http://www.baeldung.com/java-file-extension)
- [Immutable Objects in Java](http://www.baeldung.com/java-immutable-object)
- [Console I/O in Java](http://www.baeldung.com/java-console-input-output)
diff --git a/java-dates/.gitignore b/java-dates/.gitignore
new file mode 100644
index 0000000000..3de4cc647e
--- /dev/null
+++ b/java-dates/.gitignore
@@ -0,0 +1,26 @@
+*.class
+
+0.*
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+.resourceCache
+
+# Packaged files #
+*.jar
+*.war
+*.ear
+
+# Files generated by integration tests
+*.txt
+backup-pom.xml
+/bin/
+/temp
+
+#IntelliJ specific
+.idea/
+*.iml
\ No newline at end of file
diff --git a/java-dates/README.md b/java-dates/README.md
new file mode 100644
index 0000000000..58b95224ba
--- /dev/null
+++ b/java-dates/README.md
@@ -0,0 +1,16 @@
+=========
+
+## Java Dates Cookbooks and Examples
+
+### Relevant Articles:
+- [TemporalAdjuster in Java](http://www.baeldung.com/java-temporal-adjuster)
+- [Handling Daylight Savings Time in Java](http://www.baeldung.com/java-daylight-savings)
+- [Period and Duration in Java](http://www.baeldung.com/java-period-duration)
+- [Difference Between Two Dates in Java](http://www.baeldung.com/java-date-difference)
+- [RegEx for matching Date Pattern in Java](http://www.baeldung.com/java-date-regular-expressions)
+- [Migrating to the New Java 8 Date Time API](http://www.baeldung.com/migrating-to-java-8-date-time-api)
+- [Introduction to the Java 8 Date/Time API](http://www.baeldung.com/java-8-date-time-intro)
+- [Get the Current Date, Time and Timestamp in Java 8](http://www.baeldung.com/current-date-time-and-timestamp-in-java-8)
+- [Get Date Without Time in Java](http://www.baeldung.com/java-date-without-time)
+- [How to Get All Dates Between Two Dates?](http://www.baeldung.com/java-between-dates)
+- [Convert Date to LocalDate or LocalDateTime and Back](http://www.baeldung.com/java-date-to-localdate-and-localdatetime)
\ No newline at end of file
diff --git a/java-dates/pom.xml b/java-dates/pom.xml
new file mode 100644
index 0000000000..877dd615a8
--- /dev/null
+++ b/java-dates/pom.xml
@@ -0,0 +1,103 @@
+
+ 4.0.0
+ com.baeldung
+ java-dates
+ 0.1.0-SNAPSHOT
+ jar
+ java-dates
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
+
+ org.projectlombok
+ lombok
+ ${lombok.version}
+ provided
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ joda-time
+ joda-time
+ ${joda-time.version}
+
+
+ com.darwinsys
+ hirondelle-date4j
+ RELEASE
+ test
+
+
+
+
+ java-dates
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-dependencies
+ prepare-package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/libs
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+
+
+
+
+
+
+
+ 3.5
+ 1.16.12
+ 2.10
+
+ 3.6.1
+ 9
+ 9
+
+
diff --git a/core-java/src/main/java/com/baeldung/date/DateWithoutTime.java b/java-dates/src/main/java/com/baeldung/date/DateWithoutTime.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/date/DateWithoutTime.java
rename to java-dates/src/main/java/com/baeldung/date/DateWithoutTime.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/AddHoursToDate.java b/java-dates/src/main/java/com/baeldung/datetime/AddHoursToDate.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/AddHoursToDate.java
rename to java-dates/src/main/java/com/baeldung/datetime/AddHoursToDate.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/README.md b/java-dates/src/main/java/com/baeldung/datetime/README.md
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/README.md
rename to java-dates/src/main/java/com/baeldung/datetime/README.md
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UseDuration.java b/java-dates/src/main/java/com/baeldung/datetime/UseDuration.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UseDuration.java
rename to java-dates/src/main/java/com/baeldung/datetime/UseDuration.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UseLocalDate.java b/java-dates/src/main/java/com/baeldung/datetime/UseLocalDate.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UseLocalDate.java
rename to java-dates/src/main/java/com/baeldung/datetime/UseLocalDate.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UseLocalDateTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
rename to java-dates/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UseLocalTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseLocalTime.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UseLocalTime.java
rename to java-dates/src/main/java/com/baeldung/datetime/UseLocalTime.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UsePeriod.java b/java-dates/src/main/java/com/baeldung/datetime/UsePeriod.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UsePeriod.java
rename to java-dates/src/main/java/com/baeldung/datetime/UsePeriod.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UseToInstant.java b/java-dates/src/main/java/com/baeldung/datetime/UseToInstant.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UseToInstant.java
rename to java-dates/src/main/java/com/baeldung/datetime/UseToInstant.java
diff --git a/core-java-8/src/main/java/com/baeldung/datetime/UseZonedDateTime.java b/java-dates/src/main/java/com/baeldung/datetime/UseZonedDateTime.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/datetime/UseZonedDateTime.java
rename to java-dates/src/main/java/com/baeldung/datetime/UseZonedDateTime.java
diff --git a/core-java-9/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java b/java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java
similarity index 100%
rename from core-java-9/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java
rename to java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateConverter.java
diff --git a/core-java-9/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java b/java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java
similarity index 100%
rename from core-java-9/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java
rename to java-dates/src/main/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverter.java
diff --git a/core-java-9/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java b/java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java
similarity index 100%
rename from core-java-9/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java
rename to java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverter.java
diff --git a/core-java-9/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java b/java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java
similarity index 100%
rename from core-java-9/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java
rename to java-dates/src/main/java/com/baeldung/java9/datetime/LocalDateToDateConverter.java
diff --git a/core-java-9/src/main/java/com/baeldung/java9/time/TimeApi.java b/java-dates/src/main/java/com/baeldung/java9/time/TimeApi.java
similarity index 100%
rename from core-java-9/src/main/java/com/baeldung/java9/time/TimeApi.java
rename to java-dates/src/main/java/com/baeldung/java9/time/TimeApi.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/DateMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/FormattedDateMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/RangedDateMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcher.java
diff --git a/core-java/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java b/java-dates/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java
similarity index 100%
rename from core-java/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java
rename to java-dates/src/main/java/com/baeldung/regexp/datepattern/optmization/OptimizedMatcher.java
diff --git a/core-java-8/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java b/java-dates/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java
similarity index 100%
rename from core-java-8/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java
rename to java-dates/src/main/java/com/baeldung/temporaladjuster/CustomTemporalAdjuster.java
diff --git a/java-dates/src/main/resources/logback.xml b/java-dates/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/java-dates/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libraries/src/test/java/com/baeldung/date/DateDiffUnitTest.java b/java-dates/src/test/java/com/baeldung/date/DateDiffUnitTest.java
similarity index 100%
rename from libraries/src/test/java/com/baeldung/date/DateDiffUnitTest.java
rename to java-dates/src/test/java/com/baeldung/date/DateDiffUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/date/DateWithoutTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/date/DateWithoutTimeUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/date/DateWithoutTimeUnitTest.java
rename to java-dates/src/test/java/com/baeldung/date/DateWithoutTimeUnitTest.java
diff --git a/libraries/src/test/java/com/baeldung/date/StringToDateUnitTest.java b/java-dates/src/test/java/com/baeldung/date/StringToDateUnitTest.java
similarity index 100%
rename from libraries/src/test/java/com/baeldung/date/StringToDateUnitTest.java
rename to java-dates/src/test/java/com/baeldung/date/StringToDateUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/dateapi/ConversionExample.java b/java-dates/src/test/java/com/baeldung/dateapi/ConversionExample.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/dateapi/ConversionExample.java
rename to java-dates/src/test/java/com/baeldung/dateapi/ConversionExample.java
diff --git a/core-java-8/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java b/java-dates/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java
rename to java-dates/src/test/java/com/baeldung/dateapi/JavaDurationUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java b/java-dates/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java
rename to java-dates/src/test/java/com/baeldung/dateapi/JavaPeriodUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java
rename to java-dates/src/test/java/com/baeldung/dateapi/JavaUtilTimeUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/AddHoursToDateUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/AddHoursToDateUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/AddHoursToDateUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/AddHoursToDateUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/UseLocalDateTimeUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/UseLocalDateUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/UseLocalTimeUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/UsePeriodUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/UseTimeZoneUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java
rename to java-dates/src/test/java/com/baeldung/datetime/UseZonedDateTimeUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/dst/DaylightSavingTimeExamplesUnitTest.java b/java-dates/src/test/java/com/baeldung/dst/DaylightSavingTimeExamplesUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/dst/DaylightSavingTimeExamplesUnitTest.java
rename to java-dates/src/test/java/com/baeldung/dst/DaylightSavingTimeExamplesUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/dst/DaylightSavingTimeJavaTimeExamplesUnitTest.java b/java-dates/src/test/java/com/baeldung/dst/DaylightSavingTimeJavaTimeExamplesUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/dst/DaylightSavingTimeJavaTimeExamplesUnitTest.java
rename to java-dates/src/test/java/com/baeldung/dst/DaylightSavingTimeJavaTimeExamplesUnitTest.java
diff --git a/core-java-9/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterTest.java b/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterUnitTest.java
similarity index 98%
rename from core-java-9/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterTest.java
rename to java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterUnitTest.java
index ab69bba359..f7f07500f1 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterTest.java
+++ b/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateConverterUnitTest.java
@@ -20,7 +20,7 @@ import com.baeldung.java9.datetime.DateToLocalDateConverter;
* @author abialas
*
*/
-public class DateToLocalDateConverterTest {
+public class DateToLocalDateConverterUnitTest {
@Test
public void shouldReturn10thNovember2010WhenConvertViaInstant() {
diff --git a/core-java-9/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterTest.java b/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterUnitTest.java
similarity index 98%
rename from core-java-9/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterTest.java
rename to java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterUnitTest.java
index 97c70ee5ac..9ad29ea673 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterTest.java
+++ b/java-dates/src/test/java/com/baeldung/java9/datetime/DateToLocalDateTimeConverterUnitTest.java
@@ -20,7 +20,7 @@ import com.baeldung.java9.datetime.DateToLocalDateTimeConverter;
* @author abialas
*
*/
-public class DateToLocalDateTimeConverterTest {
+public class DateToLocalDateTimeConverterUnitTest {
@Test
public void shouldReturn10thNovember2010time8hour20minWhenConvertViaInstant() {
diff --git a/core-java-9/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterTest.java b/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterUnitTest.java
similarity index 97%
rename from core-java-9/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterTest.java
rename to java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterUnitTest.java
index 2c6898381f..e5a541c546 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterTest.java
+++ b/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateTimeToDateConverterUnitTest.java
@@ -18,7 +18,7 @@ import org.junit.Test;
* @author abialas
*
*/
-public class LocalDateTimeToDateConverterTest {
+public class LocalDateTimeToDateConverterUnitTest {
@Test
public void shouldReturn10thNovember2010time8hour20minWhenConvertViaInstant() {
diff --git a/core-java-9/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterTest.java b/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterUnitTest.java
similarity index 96%
rename from core-java-9/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterTest.java
rename to java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterUnitTest.java
index 7f20d5d2d2..4e4dd20f2f 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterTest.java
+++ b/java-dates/src/test/java/com/baeldung/java9/datetime/LocalDateToDateConverterUnitTest.java
@@ -18,7 +18,7 @@ import org.junit.Test;
* @author abialas
*
*/
-public class LocalDateToDateConverterTest {
+public class LocalDateToDateConverterUnitTest {
@Test
public void shouldReturn10thNovember2010WhenConvertViaInstant() {
diff --git a/core-java-9/src/test/java/com/baeldung/java9/time/TimeApiTest.java b/java-dates/src/test/java/com/baeldung/java9/time/TimeApiUnitTest.java
similarity index 96%
rename from core-java-9/src/test/java/com/baeldung/java9/time/TimeApiTest.java
rename to java-dates/src/test/java/com/baeldung/java9/time/TimeApiUnitTest.java
index a024db19a8..acf9a376f2 100644
--- a/core-java-9/src/test/java/com/baeldung/java9/time/TimeApiTest.java
+++ b/java-dates/src/test/java/com/baeldung/java9/time/TimeApiUnitTest.java
@@ -8,7 +8,7 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
-public class TimeApiTest {
+public class TimeApiUnitTest {
@Test
public void givenGetDatesBetweenWithUsingJava7_WhenStartEndDate_thenDatesList() {
@@ -18,7 +18,7 @@ public class TimeApiTest {
Date endDate = endCalendar.getTime();
List dates = TimeApi.getDatesBetweenUsingJava7(startDate, endDate);
- assertEquals(dates.size(), 2);
+ assertEquals(dates.size(), 3);
Calendar calendar = Calendar.getInstance();
Date date1 = calendar.getTime();
diff --git a/libraries/src/test/java/com/baeldung/jodatime/JodaTimeUnitTest.java b/java-dates/src/test/java/com/baeldung/jodatime/JodaTimeUnitTest.java
similarity index 100%
rename from libraries/src/test/java/com/baeldung/jodatime/JodaTimeUnitTest.java
rename to java-dates/src/test/java/com/baeldung/jodatime/JodaTimeUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/FormattedDateMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/RangedDateMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/February29thMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/FebruaryGeneralMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/GregorianDateMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf30DaysMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/MonthsOf31DaysMatcherUnitTest.java
diff --git a/core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java b/java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java
similarity index 100%
rename from core-java/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java
rename to java-dates/src/test/java/com/baeldung/regexp/datepattern/gregorian/testhelper/GregorianDateTestHelper.java
diff --git a/core-java-8/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java b/java-dates/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java
rename to java-dates/src/test/java/com/baeldung/temporaladjusters/CustomTemporalAdjusterUnitTest.java
diff --git a/core-java-8/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java b/java-dates/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java
similarity index 100%
rename from core-java-8/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java
rename to java-dates/src/test/java/com/baeldung/temporaladjusters/TemporalAdjustersUnitTest.java
diff --git a/java-dates/src/test/resources/.gitignore b/java-dates/src/test/resources/.gitignore
new file mode 100644
index 0000000000..83c05e60c8
--- /dev/null
+++ b/java-dates/src/test/resources/.gitignore
@@ -0,0 +1,13 @@
+*.class
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+
+# Packaged files #
+*.jar
+*.war
+*.ear
\ No newline at end of file
diff --git a/libraries/README.md b/libraries/README.md
index aed808420e..aad3a644ad 100644
--- a/libraries/README.md
+++ b/libraries/README.md
@@ -35,7 +35,6 @@
- [Introduction to Eclipse Collections](http://www.baeldung.com/eclipse-collections)
- [DistinctBy in Java Stream API](http://www.baeldung.com/java-streams-distinct-by)
- [Introduction to Apache Commons CSV](http://www.baeldung.com/apache-commons-csv)
-- [Difference Between Two Dates in Java](http://www.baeldung.com/java-date-difference)
- [Introduction to NoException](http://www.baeldung.com/no-exception)
- [Apache Commons IO](http://www.baeldung.com/apache-commons-io)
- [Introduction to Conflict-Free Replicated Data Types](http://www.baeldung.com/java-conflict-free-replicated-data-types)
diff --git a/libraries/pom.xml b/libraries/pom.xml
index 7402d88ef3..6b1f842aeb 100644
--- a/libraries/pom.xml
+++ b/libraries/pom.xml
@@ -481,17 +481,6 @@
logging-interceptor${logging-interceptor.version}
-
- com.darwinsys
- hirondelle-date4j
- RELEASE
- test
-
-
- joda-time
- joda-time
- ${joda-time.version}
- com.darwinsyshirondelle-date4j