@@ -0,0 +1,1692 @@
+package seedu.taskitty.commons.util;%0A%0Aimport java.time.DateTimeException;%0Aimport java.time.LocalTime;%0A%0A/**%0A * Converts a String to Date and vice versa.%0A */%0Apublic class TimeUtil %7B%0A    private static final int TIME_COMPONENT_HOUR = 0;%0A    private static final int TIME_COMPONENT_MINUTE = 1;%0A    %0A    /**%0A     * Returns a LocalDate object representing the date from the string%0A     * %0A     * @param dateString cannot be null%0A     * @throws DateTimeException if Date is invalid%0A     */%0A    public static LocalTime parseTime(String dateString) throws DateTimeException %7B%0A        assert dateString != null;%0A        %0A        LocalTime localTime;%0A        %0A        //TODO make clean (same as DateUtil)%0A        if (StringUtil.isUnsignedInteger(dateString)) %7B%0A            localTime = parseFormat2(dateString);%0A        %7D else %7B%0A            String%5B%5D dateSplitByColon = dateString.split(%22:%22);%0A            localTime = parseFormat1(dateSplitByColon);%0A        %7D%0A        %0A        return localTime;%0A    %7D%0A    %0A    //TODO how to make clean?%0A    private static LocalTime parseFormat1(String%5B%5D timeComponents) throws DateTimeException %7B%0A        int hour = Integer.parseInt(timeComponents%5BTIME_COMPONENT_HOUR%5D);%0A        int minute = Integer.parseInt(timeComponents%5BTIME_COMPONENT_MINUTE%5D);%0A        %0A        return LocalTime.of(hour, minute);%0A    %7D%0A    %0A    private static LocalTime parseFormat2(String dateString) throws DateTimeException %7B%0A        assert dateString.length() == 4; //is it necessary to defend here?%0A        %0A        int hour = Integer.parseInt(dateString.substring(0, 2));%0A        int minute = Integer.parseInt(dateString.substring(2));%0A        %0A        return LocalTime.of(hour, minute);%0A    %7D%0A%7D%0A

Add TimeUtil methods