private GregorianCalendar readDate(String helptekst) {
        String datumString = readString(helptekst + "; voer datum in (dd-mm-jjjj)");

        String[] datumSplit = datumString.split("-");
        int dag = Integer.parseInt(datumSplit[0]);
        if (dag <= 0 || dag > 32) {
            System.out.println("ongeldige dag (1..32)");
            return readDate(helptekst);
        }

        int maand = Integer.parseInt(datumSplit[1]);
        if (maand <= 0 || maand > 12) {
            System.out.println("ongeldige maand (1..12)");
            return readDate(helptekst);
        }

        int jaar = Integer.parseInt(datumSplit[2]);

        // maanden zijn binnen GregorianCalendar van 0 t/m 11 gecodeerd:
        return new GregorianCalendar(jaar, maand - 1, dag);
    }