Fix datetime serialization error on Windows (#880)

* fix #349

* fix #349 (2)
This commit is contained in:
Aryn 2022-04-24 07:01:14 +06:00 committed by GitHub
parent 0e2beb24c2
commit bad6d8613a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,6 +1,7 @@
import abc
import datetime
import weakref
import sys
__all__ = ('BaseField', 'Field', 'ListField', 'DateTimeField', 'TextField', 'ListOfLists', 'ConstField')
@ -168,8 +169,13 @@ class DateTimeField(Field):
out: datetime
"""
def serialize(self, value: datetime.datetime):
return round(value.timestamp())
if sys.platform == "win32":
def serialize(self, value: datetime.datetime):
return round((value - datetime.datetime(1970, 1, 1)).total_seconds())
else:
def serialize(self, value: datetime.datetime):
return round(value.timestamp())
def deserialize(self, value, parent=None):
return datetime.datetime.fromtimestamp(value)