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

Under utils/common.py, 

TIMESTAMP_FORMAT_MILLIS = '%Y-%m-%dT%H:%M:%S.%fZ'

The %f produces time with microseconds, for example: 2020-03-18T19:43:18.115783Z.


However, when interacting the AWS s3 and sns apis, I receive DateTimes like this:

2020-03-02T22:32:13.240Z
i.e. milliseconds. 

This seems like a simple change to the utils. TIMESTAMP_FORMAT_MILLIS is named as if it should be millis as well. This is seems like a simple change. Is there a reason it should be microseconds?
""" A context manager that captures stdout/stderr of the current thread. Use it as follows:
        with CaptureOutput() as c:
            ...
        print(c.stdout(), c.stderr())
    """
    orig_stdout = sys.stdout
    orig_stderr = sys.stderr
    orig___stdout = sys.__stdout__
    orig___stderr = sys.__stderr__
    CONTEXTS_BY_THREAD = {}
    class LogStreamIO(io.StringIO):
        def write(self, s):
            if isinstance(s, str) and hasattr(s, 'decode'):
                s = s.decode('unicode-escape')
            return super(CaptureOutput.LogStreamIO, self).write(s)
    def __init__(self):
        self._stdout = self.LogStreamIO()
        self._stderr = self.LogStreamIO()
    def __enter__(self):
        
        from werkzeug.local import LocalProxy
        ident = self._ident()
        if ident not in self.CONTEXTS_BY_THREAD:
            self.CONTEXTS_BY_THREAD[ident] = self
            self._set(LocalProxy(self._proxy(sys.stdout, 'stdout')),
                      LocalProxy(self._proxy(sys.stderr, 'stderr')),
                      LocalProxy(self._proxy(sys.__stdout__, 'stdout')),
                      LocalProxy(self._proxy(sys.__stderr__, 'stderr')))
        return self
    def __exit__(self, type, value, traceback):