diff --git a/.idea/misc.xml b/.idea/misc.xml
index f67c57e..d5d79e0 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,9 +1,6 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index b6d775a..7d8f41b 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -31,6 +31,7 @@
+
diff --git a/Other/Date/Date.iml b/Other/Date/Date.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Other/Date/Date.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Other/Date/src/edu/javacourse/date/Main.java b/Other/Date/src/edu/javacourse/date/Main.java
new file mode 100644
index 0000000..b605699
--- /dev/null
+++ b/Other/Date/src/edu/javacourse/date/Main.java
@@ -0,0 +1,108 @@
+package edu.javacourse.date;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+/**
+ * @author Artem Pronchakov artem.pronchakov@ocrv.ru
+ */
+public class Main {
+
+ public static void main(String[] args) throws ParseException {
+
+ dateRepresentation();
+ calendarManupulation();
+ parseDate();
+ formatDate();
+ compareTwoDates();
+ dateEquals();
+
+ }
+
+ private static void dateRepresentation() {
+ System.out.println("\n\ndateRepresentation: ");
+ Date now = new Date();
+ System.out.println("Date.toString: " + now);
+ System.out.println("Date internal data: " + now.getTime());
+ }
+
+ private static void calendarManupulation() {
+ System.out.println("\n\ncalendarManupulation: ");
+ Date now = new Date();
+ System.out.println("Now: " + now);
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(now);
+
+ calendar.add(Calendar.DAY_OF_MONTH, 1);
+ System.out.println("Add one day: " + calendar.getTime());
+
+ calendar.add(Calendar.DAY_OF_MONTH, -2);
+ System.out.println("Subtract two days: " + calendar.getTime());
+ }
+
+ private static void parseDate() throws ParseException {
+ System.out.println("\n\nparseDate: ");
+ SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
+
+ System.out.println("Parsing date '01.02.2019 12:23:41' using pattern 'dd.MM.yyyy HH:mm:ss' assuming it is in UTC");
+
+ Date parsedDate = sdf.parse("01.02.2019 12:23:41");
+ System.out.println("Parsed date: " + parsedDate);
+ }
+
+ private static void formatDate() {
+ System.out.println("\n\nformatDate: ");
+ SimpleDateFormat sdf1 = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
+ SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yyyy");
+ SimpleDateFormat sdf3 = new SimpleDateFormat("dd.MM 'year:'yy HH.mm ss 'sec'");
+
+ Date now = new Date();
+ System.out.println("Now date: " + now);
+ System.out.println("Formatted date using pattern 'dd.MM.yyyy HH:mm:ss': " + sdf1.format(now));
+ System.out.println("Formatted date using pattern 'dd-MM-yyyy': " + sdf2.format(now));
+ System.out.println("Formatted date using pattern 'dd.MM 'year:'yy HH.mm ss 'sec'': " + sdf3.format(now));
+ }
+
+ private static void compareTwoDates() {
+ System.out.println("\n\ncompareTwoDates: ");
+ Date now = new Date();
+ System.out.println("Now date: " + now);
+
+ Calendar future = Calendar.getInstance();
+ future.setTime(now);
+ future.add(Calendar.SECOND, 30);
+ final Date futureDate = future.getTime();
+
+ Calendar past = Calendar.getInstance();
+ past.setTime(now);
+ past.add(Calendar.SECOND, -30);
+ final Date pastDate = past.getTime();
+
+ System.out.println("Past date: " + pastDate);
+ System.out.println("Future date: " + futureDate);
+
+ if (pastDate.before(futureDate)) {
+ System.out.println(pastDate + " is before " + futureDate);
+ } else {
+ System.out.println("Nope");
+ }
+ }
+
+ private static void dateEquals() {
+ System.out.println("\n\ndateEquals: ");
+ final Date d1 = new Date(1559918835269L);
+ final Date d2 = new Date(1559918835269L);
+
+ if (d1.equals(d2)) {
+ System.out.println("Date " + d1 + " is equal to date " + d2);
+ } else {
+ System.out.println("Nope");
+ }
+ }
+
+}