diff --git a/6-doc-processor.py b/6-doc-processor.py index 38d1b2d3240ec57e986a42bd06103d78198dc41c..eae6c0016d5a13db883529f667dc6b187e89d15d 100644 --- a/6-doc-processor.py +++ b/6-doc-processor.py @@ -48,7 +48,7 @@ def fix_field_types( in_docs, out_types ): elif out_types[lookup_key] == 'float': out_flattened_properties[prop] = convert_to_float(in_flattened_properties[prop]) elif out_types[lookup_key] in ['date', 'datetime']: - out_flattened_properties[prop] = convert_to_datetime(in_flattened_properties[prop]).strftime('%Y-%m-%dT%H:%M:%S.%fZ') + out_flattened_properties[prop] = convert_to_datetime(in_flattened_properties[prop]).strftime('%Y-%m-%dT%H:%M:%SZ') elif out_types[lookup_key] == 'bool': out_flattened_properties[prop] = convert_to_boolean(in_flattened_properties[prop]) else: diff --git a/utils/serializers.py b/utils/serializers.py index 51135d8fec602f92526bcc7c498283ed6c0c4f39..3632e72f22eafe51fc7c3e35cf9ace41f820fb58 100644 --- a/utils/serializers.py +++ b/utils/serializers.py @@ -4,7 +4,7 @@ import pytz # cf. https://stackoverflow.com/questions/30313243/messagepack-and-datetime def decode_datetime(obj): if '__datetime__' in obj.keys(): - tmp = datetime.datetime.strptime(obj["as_str"], "%Y-%m-%dT%H:%M:%SZ") + tmp = datetime.datetime.strptime(obj["as_str"], "%Y-%m-%dT%H:%M:%S.%fZ") output = pytz.timezone('UTC').localize(tmp) elif '__date__' in obj.keys(): output = datetime.datetime.strptime(obj["as_str"], "%Y-%m-%d") @@ -24,7 +24,7 @@ def encode_datetime(obj): tmp2 = tmp1.astimezone(pytz.UTC) - return {'__datetime__': True, 'as_str': tmp2.strftime("%Y-%m-%dT%H:%M:%SZ")} + return {'__datetime__': True, 'as_str': tmp2.strftime("%Y-%m-%dT%H:%M:%S.%fZ")} if isinstance(obj, datetime.date): return {'__date__': True, 'as_str': obj.strftime("%Y-%m-%d")}