diff --git a/list.json b/list.json index 759f080..3f4e0ad 100644 --- a/list.json +++ b/list.json @@ -1 +1 @@ -[{"name":"name","note":"notes","price":15.0,"weight":5.0,"delivered":false,"expectedDate":"2022-07-20T12:12"}] \ No newline at end of file +[{"name":"name","note":"notes","price":15.0,"weight":5.0,"delivered":false,"expectedDate":"2022-07-20T12:12"},{"name":"n2","note":"n2","price":15.0,"weight":16.0,"delivered":false,"expectedDate":"2023-05-20T15:20"}] \ No newline at end of file diff --git a/out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class b/out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class index b7ad654..0ffb20c 100644 Binary files a/out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class and b/out/production/cmpt213.assignment1.packagedeliveriestracker/Main$1.class differ diff --git a/out/production/cmpt213.assignment1.packagedeliveriestracker/Main.class b/out/production/cmpt213.assignment1.packagedeliveriestracker/Main.class index 5a2f52e..bcebd17 100644 Binary files a/out/production/cmpt213.assignment1.packagedeliveriestracker/Main.class and b/out/production/cmpt213.assignment1.packagedeliveriestracker/Main.class differ diff --git a/out/production/cmpt213.assignment1.packagedeliveriestracker/PackageInfo.class b/out/production/cmpt213.assignment1.packagedeliveriestracker/PackageInfo.class index 78e1873..840393d 100644 Binary files a/out/production/cmpt213.assignment1.packagedeliveriestracker/PackageInfo.class and b/out/production/cmpt213.assignment1.packagedeliveriestracker/PackageInfo.class differ diff --git a/src/Main.java b/src/Main.java index 2225a17..8bed7a7 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,7 +1,6 @@ import com.google.gson.*; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; - import java.io.*; import java.time.LocalDateTime; import java.time.chrono.ChronoLocalDate; @@ -44,15 +43,13 @@ try{ JsonArray array = element.getAsJsonArray(); for (int i = 0; i < array.size(); i++){ JsonObject pObj = array.get(i).getAsJsonObject(); - System.out.println(pObj.get("expectedDate").getAsString()); DateTimeFormatter format = DateTimeFormatter.ofPattern("yyy-MM-dd HH:mm"); packageList.add(new PackageInfo(pObj.get("name").getAsString(), pObj.get("note").getAsString(), pObj.get("price").getAsDouble(), pObj.get("weight").getAsDouble(), pObj.get("delivered").getAsBoolean(), - //fix date - LocalDateTime.parse(pObj.get("expectedDate").getAsString(), format)) + LocalDateTime.parse(pObj.get("expectedDate").getAsString())) ); } System.out.println("packages loaded"); diff --git a/src/PackageInfo.java b/src/PackageInfo.java index 26fe838..6b46b5e 100644 --- a/src/PackageInfo.java +++ b/src/PackageInfo.java @@ -3,8 +3,8 @@ import java.text.SimpleDateFormat; import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.Locale; - +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import static java.lang.Math.abs; public class PackageInfo implements Comparable{ @@ -47,10 +47,11 @@ private String name; @Override public String toString() { - DateFormat date = new SimpleDateFormat("yyyy-mm-dd hh:mm"); + DateTimeFormatter format = DateTimeFormatter.ofPattern("yyy-MM-dd HH:mm"); LocalDateTime today = LocalDateTime.now(); - Duration diff = Duration.between(expectedDate.toLocalDate(), today.toLocalDate()); + today.format(format); + long diff = ChronoUnit.DAYS.between(today, expectedDate); String isDelivered = delivered ? "yes" : "no"; - return "Name: " + name + "\n" + "Notes: " + note + "\n" + "Price: " + price + "\n" + "Weight: " + weight + "\n" + "Expected Delivery Date: " + expectedDate + "\n" + "Delivered? " + isDelivered + "\n" + ((diff.toDays() > 0 && !delivered)? diff.toDays() + " days remaining" : abs(diff.toDays()) + " days overdue"); - } + return "Name: " + name + "\n" + "Notes: " + note + "\n" + "Price: " + price + "\n" + "Weight: " + weight + "\n" + "Expected Delivery Date: " + expectedDate.toString() + "\n" + "Delivered? " + isDelivered + "\n" + ((diff > 0 && !delivered) ? diff + " days remaining" : abs(diff) + " days overdue"); + } }