diff --git a/a0/src/com/CS3310/a0/ComputeTime.java b/a0/src/com/CS3310/a0/ComputeTime.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9cb32c441cc68c5690b0445eb51eff2d4b59434
--- /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 ffc90d0e11b1db8c1b068ad88e4b49b9790a0387..431be652f348660258c920bbd93c62612e358be9 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);
     }
 }