code: public static Date getDate(CSProperties p, String key) throws ParseException {
          String val = p.get(key).toString();
          if (val == null) {
              throw new IllegalArgumentException(key);
          }
          String f = p.getInfo(key).get(KEY_FORMAT);
          DateFormat fmt = new SimpleDateFormat(f == null ? ISO8601 : f);
          return fmt.parse(val);
      }
docs: Get a value as date.
  
  @param p
  @param key
  @return a property as Date
  @throws java.text.ParseException