code: @Override
  	public Date getValue() {
  		final String text = super.getText();
  		if (text == null || text.length() == 0) {
  			return null;
  		}
  		// note : L'année 0 (et 000) sur un seul chiffre est interprétée par java comme 0001 et non comme 2000.
  		// (Si dateFormat était lenient false, il y aurait même une erreur).
  		final Calendar calendar = Calendar.getInstance();
  		try {
  			calendar.setTime(getDateFormat().parse(text));
  		} catch (final ParseException e) {
  			try {
  				calendar.setTime(MDateDocument.getAlternateDateFormat().parse(text));
  			} catch (final ParseException e2) {
  				beep();
  				return null;
  			}
  		}
  
  		// l'heure est soit 0h soit 23h59 selon endOfDay
  		// (on ne garde pas l'heure courante mais seulement le jour)
  		calendar.set(Calendar.HOUR_OF_DAY, 0);
  		calendar.set(Calendar.MINUTE, 0);
  		calendar.set(Calendar.SECOND, 0);
  		calendar.set(Calendar.MILLISECOND, 0);
  
  		return calendar.getTime();
  	}
docs: {@inheritDoc}