code: protected void applyDateOffset(Calendar calendar, String offsetString) {
          calendar.add(Calendar.YEAR, getDateValueOffset(offsetString, 'y'));
          calendar.add(Calendar.MONTH, getDateValueOffset(offsetString, 'M'));
          calendar.add(Calendar.DAY_OF_YEAR, getDateValueOffset(offsetString, 'd'));
          calendar.add(Calendar.HOUR, getDateValueOffset(offsetString, 'h'));
          calendar.add(Calendar.MINUTE, getDateValueOffset(offsetString, 'm'));
          calendar.add(Calendar.SECOND, getDateValueOffset(offsetString, 's'));
      }
docs: Adds/removes date value offset by parsing offset string for
  year/month/day/hour/minute/second offsets.
  
  @param calendar
  @param offsetString