# 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.
return set_lifecycle(bucket, data)
        if query == 'replication' or 'replication' in query_map:
            if method == 'GET':
                return get_replication(bucket)
            if method == 'PUT':
                return set_replication(bucket, data)
        if query == 'encryption' or 'encryption' in query_map:
            if method == 'GET':
                return get_encryption(bucket)
            if method == 'PUT':
                return set_encryption(bucket, data)
        if query == 'object-lock' or 'object-lock' in query_map:
            if method == 'GET':
                return get_object_lock(bucket)
            if method == 'PUT':
                return set_object_lock(bucket, data)
        if modified_data is not None or headers_changed:
            return Request(data=modified_data or data, headers=headers, method=method)
        return True
    def get_forward_url(self, method, path, data, headers):
        def sub(match):
            
            bucket_name = normalize_bucket_name(match.group(1))
            return '/%s%s' % (bucket_name, match.group(2) or '')
        path_new = re.sub(r'/([^?/]+)([?/].*)?', sub, path)
        if path == path_new:
            return
        url = 'http://%s:%s%s' % (constants.LOCALHOST, PORT_S3_BACKEND, path_new)
        return url
    def return_response(self, method, path, data, headers, response, request_handler=None):