code: private String getServerDateFromException(String body) {
          final int startPos = body.indexOf("(");
          int endPos = body.indexOf(" + ");
          if (endPos == -1) {
              endPos = body.indexOf(" - ");
          }
          return endPos == -1 ? null : body.substring(startPos + 1, endPos);
      }
docs: Returns date string from the exception message body in form of yyyyMMdd'T'HHmmss'Z' We
  needed to extract date from the message body because SQS is the only service that does
  not provide date header in the response. Example, when device time is behind than the
  server time than we get a string that looks something like this: "Signature expired:
  20130401T030113Z is now earlier than 20130401T034613Z (20130401T040113Z - 15 min.)"
  
  SWF: Signature not yet current: 20140819T173921Z is still later than 20140819T173829Z
  (20140819T173329Z + 5 min.)
  
  @param body The message from where the server time is being extracted
  @return Return datetime in string format (yyyyMMdd'T'HHmmss'Z')