code: private void evalDateTimeInterval(List<MessageArg> args) {
      int size = args.size();
      if (size != 2) {
        return;
      }
      for (int i = 0; i < size; i++) {
        if (!args.get(i).resolve()) {
          return;
        }
      }
  
      ZonedDateTime start = parseDateTime(args.get(0));
      ZonedDateTime end = parseDateTime(args.get(1));
      
      // Parse optional skeleton argument
      DateTimeIntervalSkeleton skeleton = null;
      tag.skip(COMMA_WS);
      if (tag.seek(SKELETON, choice)) {
        String skel = choice.toString();
        tag.jump(choice);
        skeleton = DateTimeIntervalSkeleton.fromString(skel);
      }
      
      CalendarFormatter formatter = CLDR_INSTANCE.getCalendarFormatter(locale);
      formatter.format(start, end, skeleton, buf);
    }
docs: DATETIME-INTERVAL - Evaluate the argument as a date-time interval with an
  optional skeleton argument.