Avoid using floating points during timestamp-datetime conversions (#591)

This commit is contained in:
hakan akyürek 2024-04-20 00:46:30 +02:00 committed by GitHub
parent 9aedf8ed7f
commit e77672200b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 2 deletions

View file

@ -157,7 +157,9 @@ class Timestamp:
:rtype: `datetime.datetime`
"""
utc = datetime.timezone.utc
return datetime.datetime.fromtimestamp(0, utc) + datetime.timedelta(seconds=self.to_unix())
return datetime.datetime.fromtimestamp(0, utc) + datetime.timedelta(
seconds=self.seconds, microseconds=self.nanoseconds // 1000
)
@staticmethod
def from_datetime(dt):
@ -165,4 +167,4 @@ class Timestamp:
:rtype: Timestamp
"""
return Timestamp.from_unix(dt.timestamp())
return Timestamp(seconds=int(dt.timestamp()), nanoseconds=dt.microsecond * 1000)