From ea0d03590d59ab0aee825ebc9e364156c0e0f473 Mon Sep 17 00:00:00 2001
From: Brandon Rodriguez <brodriguez8774@gmail.com>
Date: Wed, 20 Sep 2017 00:06:12 -0400
Subject: [PATCH] Setup basic time comparison class for use in future
 assignments

---
 a0/src/com/CS3310/a0/ComputeTime.java | 75 +++++++++++++++++++++++++++
 a0/src/com/CS3310/a0/Main.java        | 67 ++++++++++++++++++++++++
 2 files changed, 142 insertions(+)
 create mode 100644 a0/src/com/CS3310/a0/ComputeTime.java

diff --git a/a0/src/com/CS3310/a0/ComputeTime.java b/a0/src/com/CS3310/a0/ComputeTime.java
new file mode 100644
index 0000000..a9cb32c
--- /dev/null
+++ b/a0/src/com/CS3310/a0/ComputeTime.java
@@ -0,0 +1,75 @@
+package com.CS3310.a0;
+
+
+import java.util.Date;
+
+
+public class ComputeTime {
+
+    //region Variables
+
+    private long startMilliseconds;
+    private long endMilliseconds;
+    private long differenceMilliseconds;
+
+    //endregion Variables
+
+
+
+    //region Constructor
+
+    /**
+     * Base constructor.
+     */
+    public ComputeTime() {
+
+    }
+
+    //endregion Constructor
+
+
+
+    //region Methods
+
+    /**
+     * Determines the difference in milliseconds between two times.
+     * @param time1
+     * @param time2
+     * @return Long of Milisecond difference.
+     *          Positive means time1 is earlier than time2.
+     *          Zero means they're equal.
+     *          Negative means time2 is earlier than time1.
+     */
+    public long ComputeDateDifference(Date time1, Date time2) {
+        startMilliseconds = time1.getTime();
+        endMilliseconds = time2.getTime();
+        differenceMilliseconds = endMilliseconds - startMilliseconds;
+        PrintTime(differenceMilliseconds);
+        return  differenceMilliseconds;
+    }
+
+
+    /**
+     * Calculates hours, minutes, seconds, and milliseconds based upon total milliseconds.
+     * Prints to stdout.
+     * @param timeInMilliseconds
+     */
+    public void PrintTime(long timeInMilliseconds) {
+        long miliseconds;
+        long seconds;
+        long minutes;
+        long hours;
+
+        miliseconds = timeInMilliseconds % 1000;
+        seconds = timeInMilliseconds / 1000;
+        minutes = seconds / 60;
+        seconds = seconds % 60;
+        hours = minutes / 60;
+        minutes = minutes % 60;
+
+        System.out.println("H:M:S:m  " +
+                            hours + ":" + minutes + ":" + seconds + ":" + miliseconds);
+    }
+
+    //endregion Methods
+}
diff --git a/a0/src/com/CS3310/a0/Main.java b/a0/src/com/CS3310/a0/Main.java
index ffc90d0..431be65 100644
--- a/a0/src/com/CS3310/a0/Main.java
+++ b/a0/src/com/CS3310/a0/Main.java
@@ -1,7 +1,74 @@
 package com.CS3310.a0;
 
+
+import java.util.Calendar;
+import java.util.Date;
+
+
 public class Main {
     public static void main(String[] args) {
         System.out.println("Hello, World!");
+        ComputeTime computeTime = new ComputeTime();
+
+        Date date1 = new Date();
+        Date date2;
+        Calendar calendar = Calendar.getInstance();
+
+        // Day Difference.
+        calendar.setTime(date1);
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        date2 = calendar.getTime();
+
+        System.out.println("Now Vs Tomorrow");
+        computeTime.ComputeDateDifference(date1, date2);
+
+
+        // Hour difference.
+        calendar.setTime(date1);
+        calendar.add(Calendar.HOUR, -1);
+        date2 = calendar.getTime();
+
+        System.out.println("Now Vs Hour Ago");
+        computeTime.ComputeDateDifference(date1, date2);
+
+
+        // Minute difference.
+        calendar.setTime(date1);
+        calendar.add(Calendar.MINUTE, 1);
+        date2 = calendar.getTime();
+
+        System.out.println("Now Vs Minute Ago");
+        computeTime.ComputeDateDifference(date1, date2);
+
+
+        // Second difference.
+        calendar.setTime(date1);
+        calendar.add(Calendar.SECOND, 1);
+        date2 = calendar.getTime();
+
+        System.out.println("Now Vs Millisecond Ago");
+        computeTime.ComputeDateDifference(date1, date2);
+
+
+        // Minute difference.
+        calendar.setTime(date1);
+        calendar.add(Calendar.MILLISECOND, 1);
+        date2 = calendar.getTime();
+
+        System.out.println("Now Vs Millisecond Ago");
+        computeTime.ComputeDateDifference(date1, date2);
+
+
+        // Variable difference.
+        calendar.setTime(date1);
+        calendar.add(Calendar.DAY_OF_MONTH, 1);
+        calendar.add(Calendar.HOUR, 1);
+        calendar.add(Calendar.MINUTE, 1);
+        calendar.add(Calendar.SECOND, 1);
+        calendar.add(Calendar.MILLISECOND, 1);
+        date2 = calendar.getTime();
+
+        System.out.println("Now Vs All Above");
+        computeTime.ComputeDateDifference(date1, date2);
     }
 }
-- 
GitLab