code: public static PeriodValue parsePeriodValue(String s, TimeZone tzid)
              throws ParseException {
          int sep = s.indexOf('/');
          if (sep < 0) {
              throw new ParseException(s, s.length());
          }
          DateValue start = parseDateValue(s.substring(0, sep), tzid),
                  end = parseDateValue(s.substring(sep + 1), tzid);
          if ((start instanceof TimeValue) != (end instanceof TimeValue)) {
              throw new ParseException(s, 0);
          }
          try {
              return PeriodValueImpl.create(start, end);
          } catch (IllegalArgumentException ex) {
              throw (ParseException) new ParseException(s, sep + 1).initCause(ex);
          }
      }
docs: parse a period value of the form &lt;start&gt;/&lt;end&gt;, converting
  from the given timezone to UTC.
  This does not yet recognize the &lt;start&gt;/&lt;duration&gt; form.