Originally reported in https://github.com/localstack/localstack/issues/2099, the CreationTime for CF stacks was hardcoded. This was fixed in in LocalStack itself (https://github.com/localstack/localstack/pull/2103), but is now also fixed in moto (https://github.com/spulec/moto/pull/2818).

I don't know what version of moto you're using, and whether it's acceptable to use dev-releases, but if you do: 

moto 1.3.15.dev550 should fix this issue, so the LS fix can be removed if you upgrade :) 
if isinstance(o, dict):
            for k, v in o.items():
                if v == PLACEHOLDER_RESOURCE_NAME:
                    if 'value' not in resource_name_holder:
                        resource_name_holder['value'] = get_resource_name(resource) or resource_id
                    o[k] = resource_name_holder['value']
        return o
    common.recurse_object(params, fix_placeholders)
    
    params = common.merge_recursive(defaults, params)
    
    if params is None:
        return
    
    for param_key, param_value in dict(params).items():
        if param_value is not None:
            param_value = params[param_key] = resolve_refs_recursively(stack_name, param_value, resources)
        
        if str(param_value).lower() in ['true', 'false']:
            params[param_key] = str(param_value).lower() == 'true'
    
    params = fix_account_id_in_arns(params)
    
    params = convert_data_types(func_details, params)
    
    params = remove_none_values(params)
    
    try: