# 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.
fix_metadata_key_underscores(response=response)
            fix_creation_date(method, path, response=response)
            fix_etag_for_multipart(data, headers, response)
            append_aws_request_troubleshooting_headers(response)
            if method == 'PUT':
                set_object_expiry(path, headers)
            
            
            if method == 'PUT' and ('X-Amz-Security-Token=' in path or
                    'X-Amz-Credential=' in path or 'AWSAccessKeyId=' in path):
                response._content = ''
                reset_content_length = True
            response_content_str = None
            try:
                response_content_str = to_str(response._content)
            except Exception:
                pass
            
            
            if method == 'GET':
                add_accept_range_header(response)
                add_reponse_metadata_headers(response)
                if is_object_expired(path):
                    return no_such_key_error(path, headers.get('x-amz-request-id'), 400)
                query_map = urlparse.parse_qs(parsed.query, keep_blank_values=True)
                for param_name, header_name in ALLOWED_HEADER_OVERRIDES.items():
                    if param_name in query_map:
                        response.headers[header_name] = query_map[param_name][0]
            if response_content_str and response_content_str.startswith('<'):
                is_bytes = isinstance(response._content, six.binary_type)