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); } }