docs: public static Date parseW3CDateTime(String sDate, final Locale locale) {
          // if sDate has time on it, it injects 'GTM' before de TZ displacement to allow the
          // SimpleDateFormat parser to parse it properly
          final int tIndex = sDate.indexOf("T");
          if (tIndex > -1) {
              if (sDate.endsWith("Z")) {
                  sDate = sDate.substring(0, sDate.length() - 1) + "+00:00";
              }
              int tzdIndex = sDate.indexOf("+", tIndex);
              if (tzdIndex == -1) {
                  tzdIndex = sDate.indexOf("-", tIndex);
              }
              if (tzdIndex > -1) {
                  String pre = sDate.substring(0, tzdIndex);
                  final int secFraction = pre.indexOf(",");
                  if (secFraction > -1) {
                      pre = pre.substring(0, secFraction);
                  }
                  final String post = sDate.substring(tzdIndex);
                  sDate = pre + "GMT" + post;
              }
          } else {
              sDate += "T00:00GMT";
          }
          return parseUsingMask(W3CDATETIME_MASKS, sDate, locale);
      }