@@ -0,0 +1,1602 @@
+package seedu.doist.model.task;%0A%0Aimport java.util.Date;%0A%0Aimport seedu.doist.commons.exceptions.IllegalValueException;%0A%0Apublic class TaskDate %7B%0A%0A    private Date startDate;%0A    private Date endDate;%0A%0A    public TaskDate() %7B%0A        this.startDate = null;%0A        this.endDate = null;%0A    %7D%0A%0A    public TaskDate (Date startDate, Date endDate) %7B%0A        this.startDate = startDate;%0A        this.endDate = endDate;%0A    %7D%0A    public Date getStartDate() %7B%0A        return startDate;%0A    %7D%0A%0A    public void setStartDate(Date startDate) %7B%0A        this.startDate = startDate;%0A    %7D%0A%0A    public Date getEndDate() %7B%0A        return endDate;%0A    %7D%0A%0A    public void setEndDate(Date endDate) %7B%0A        this.endDate = endDate;%0A    %7D%0A%0A    public boolean isPast() %7B%0A        if (this.getStartDate() != null && this.getEndDate() != null) %7B%0A            Date currentDate = new Date();%0A            return (this.getEndDate().compareTo(currentDate) %3C 0);%0A        %7D else %7B%0A            return false;%0A        %7D%0A    %7D%0A%0A    /**%0A     * Function to check whether the date input is valid i.e, the Start date is before or equal to the End Date.%0A     * Also checks if the parsing of dates has been successful%0A     * @param startDate%0A     * @param endDate%0A     * @return%0A     * @throws IllegalValueException%0A     */%0A    public static boolean validateDate (Date startDate, Date endDate) throws IllegalValueException %7B%0A        if (startDate == null %7C%7C endDate == null) %7B%0A            throw new IllegalValueException(%22Incorrect Dates%22);%0A        %7D else %7B%0A            return (startDate.compareTo(endDate) %3C= 0) ? true : false;%0A        %7D%0A    %7D%0A%7D%0A

Add new class to store times and date