public static String toFancyTime(int minutes) {
        if (minutes <= 0) {
            return "0 minutes";
        }
        StringBuilder time = new StringBuilder();
        int days = minutes / 60 / 24;
        if (days > 0) {
            time.append(days).append(" day").append(days > 1 ? "s" : "");
        }
        int hours = minutes / 60 % 24;
        if (hours > 0) {
            if (days > 0) {
                time.append(", ");
            }
            time.append(hours).append(" hour").append(hours > 1 ? "s" : "");
        }
        minutes = minutes % 60;
        if (minutes > 0) {
            if (hours > 0) {
                time.append(", ");
            }
            time.append(minutes).append(" minute").append(minutes > 1 ? "s": "");
        }
        return time.toString();
    }