<!-- Love localstack? Please consider supporting our collective:
:point_right:  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...
[x] bug report
[ ] feature request

# Detailed description
Currently when using [software.amazon.awssdk:kinesis:2.15.27](https://search.maven.org/artifact/software.amazon.awssdk/kinesis/2.15.27/jar) and attempting to use [getRecords](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kinesis/KinesisAsyncClient.html#getRecords-java.util.function.Consumer-) we end up getting a general aws client exception `software.amazon.awssdk.core.exception.SdkClientException: Unable to parse date : 1.605283809962E9`. This doesn't happen when using a live kinesis stream.

## Expected behavior
Should be able to get a response from localstack with the correct data.

## Actual behavior
An exception is thrown from inside aws sdk v2 with the message `software.amazon.awssdk.core.exception.SdkClientException: Unable to parse date : 1.605283809962E9`.

# Steps to reproduce
## Command used to start LocalStack
`docker run -d -p 4566:4566 -e "SERVICES=kinesis" localstack/localstack:0.12.2`

## Client code (AWS SDK code snippet, or sequence of "awslocal" commands)
https://github.com/lukecollier/localstack-jvm-aws-sdk-v2



┆Issue is synchronized with this [Jira Task](https://localstack.atlassian.net/browse/LOC-53) by [Unito](https://www.unito.io/learn-more)

'TargetShardCount': data['TargetShardCount']
            }
            response.encoding = 'UTF-8'
            response._content = json.dumps(content)
            return response
    def decode_content(self, data):
        try:
            return json.loads(to_str(data))
        except UnicodeDecodeError:
            return cbor2.loads(data)
UPDATE_KINESIS = ProxyListenerKinesis()
def kinesis_error_response(data, action):
    error_response = Response()
    if action == ACTION_PUT_RECORD:
        error_response.status_code = 400
        content = {
            'ErrorCode': 'ProvisionedThroughputExceededException',
            'ErrorMessage': 'Rate exceeded for shard X in stream Y under account Z.'
        }
    else:
        error_response.status_code = 200
        content = {'FailedRecordCount': 1, 'Records': []}
        for record in data.get('Records', []):
            content['Records'].append({
                'ErrorCode': 'ProvisionedThroughputExceededException',
                'ErrorMessage': 'Rate exceeded for shard X in stream Y under account Z.'
            })
    error_response._content = json.dumps(content)
    return error_response