diff --git a/aio_pika/abc.py b/aio_pika/abc.py index 227356ea..94a91275 100644 --- a/aio_pika/abc.py +++ b/aio_pika/abc.py @@ -38,7 +38,7 @@ ConsumerTag = str MILLISECONDS = 1000 -ZERO_TIME = datetime.utcfromtimestamp(0) +ZERO_TIME = datetime(1970, 1, 1) class SSLOptions(TypedDict, total=False): diff --git a/aio_pika/message.py b/aio_pika/message.py index b4140752..58f441a8 100644 --- a/aio_pika/message.py +++ b/aio_pika/message.py @@ -1,6 +1,6 @@ import time import warnings -from datetime import datetime, timedelta +from datetime import datetime, timedelta, timezone from functools import singledispatch from pprint import pformat from types import TracebackType @@ -86,12 +86,12 @@ def encode_timestamp_datetime(value: datetime) -> datetime: @encode_timestamp.register(float) @encode_timestamp.register(int) def encode_timestamp_number(value: Union[int, float]) -> datetime: - return datetime.utcfromtimestamp(value) + return datetime.fromtimestamp(value, tz=timezone.utc) @encode_timestamp.register(timedelta) def encode_timestamp_timedelta(value: timedelta) -> datetime: - return datetime.utcnow() + value + return datetime.now(tz=timezone.utc) + value @encode_timestamp.register(NoneType) # type: ignore @@ -112,7 +112,7 @@ def decode_timestamp_datetime(value: datetime) -> datetime: @decode_timestamp.register(float) @decode_timestamp.register(int) def decode_timestamp_number(value: Union[float, int]) -> datetime: - return datetime.utcfromtimestamp(value) + return datetime.fromtimestamp(value, tz=timezone.utc) @decode_timestamp.register(time.struct_time) diff --git a/tests/test_message.py b/tests/test_message.py index 329a08e3..5488b285 100644 --- a/tests/test_message.py +++ b/tests/test_message.py @@ -1,6 +1,6 @@ import time from copy import copy -from datetime import datetime +from datetime import datetime, timezone from typing import List, Tuple import shortuuid @@ -45,7 +45,7 @@ def test_message_info(): redelivered=None, reply_to="test", routing_key=None, - timestamp=datetime.utcfromtimestamp(int(time.time())), + timestamp=datetime.fromtimestamp(int(time.time()), tz=timezone.utc), type="0", user_id="guest", )