code: public static Instant convertZuluToInstant( final String input )
      {
          if ( input == null )
          {
              throw new NullPointerException();
          }
  
          try
          {
              final LocalDateTime localDateTime = LocalDateTime.parse( input, EDIR_TIMESTAMP_FORMATTER );
              final ZonedDateTime zonedDateTime = localDateTime.atZone( ZoneOffset.UTC );
              return Instant.from( zonedDateTime );
          }
          catch ( DateTimeParseException e )
          {
              throw new IllegalArgumentException( "unable to parse zulu time-string: " + e.getMessage() );
          }
      }
docs: Convert the commonly used eDirectory zulu time string to java Date object.
  See the <a href="http://developer.novell.com/documentation/ndslib/schm_enu/data/sdk5701.html">eDirectory Time attribute syntax definition</a> for more details.
  
  @param input a date string in the format of "yyyyMMddHHmmss'Z'", for example "19941216103200Z"
  @return A Date object representing the string date
  @throws IllegalArgumentException if dateString is incorrectly formatted