# Type of request: This is a bug report

# Detailed description
S3 list buckets returns a different format for CreationDate than the one expected by the Java SDK and parsing fails. Using Java SDK 2.13.39. Also verified w/ .40, .38, .30 and .20. Will check previous Docker releases for localstack.

``Unable to unmarshall response (Text '2020-06-17T15:26:46.032838+00:00' could not be parsed at index 19). Response Code: 200, Response Text: 
software.amazon.awssdk.core.exception.SdkClientException: Unable to unmarshall response (Text '2020-06-17T15:26:46.032838+00:00' could not be parsed at index 19). Response Code: 200, Response Text: <truncated...>
``

## Expected behavior
Return CreationDate in same format as the actual S3 API call.

## Actual behavior
Returns CreationDate in slightly different format from the actual S3 API call. Fractional seconds are included.

# Steps to reproduce
Run "aws s3api list-buckets" vs "aws s3api list-buckets --endpoint-url http://localstack:4566" and note different date format for CreationDate.

## Command used to start LocalStack
docker-compose:
```
  localstack:
    image: localstack/localstack
    ports:
      - '4566:4566'
    environment:
      SERVICES: s3
      DEBUG: 1
```
## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
See steps to reproduce.
if method != 'GET' or path != '/':
        return
    response._content = re.sub(r'(\.[0-9]+)</CreationDate>', r'\1Z</CreationDate>', to_str(response._content))
def convert_to_chunked_encoding(method, path, response):
    if method != 'GET' or path != '/':
        return
    if response.headers.get('Transfer-Encoding', '').lower() == 'chunked':
        return
    response.headers['Transfer-Encoding'] = 'chunked'
    response.headers.pop('Content-Encoding', None)
    response.headers.pop('Content-Length', None)
def fix_etag_for_multipart(data, headers, response):
    
    if headers.get(CONTENT_SHA256_HEADER) == STREAMING_HMAC_PAYLOAD:
        try:
            if b'chunk-signature=' not in to_bytes(data):
                return
            correct_hash = md5(strip_chunk_signatures(data))
            tags = r'<ETag>%s</ETag>'
            pattern = r'(&#34;)?([^<&]+)(&#34;)?'
            replacement = r'\g<1>%s\g<3>' % correct_hash
            response._content = re.sub(tags % pattern, tags % replacement, to_str(response.content))
            if response.headers.get('ETag'):
                response.headers['ETag'] = re.sub(pattern, replacement, response.headers['ETag'])
        except Exception:
            pass
def remove_xml_preamble(response):