Я создал класс, унаследованный от datetime.datetime
.
При создании нового экземпляра с использованием метода класса fromtimestamp
это работает, за исключением , если я предоставлю timezone
объект.В таком случае возвращаемый объект имеет базовый тип datetime
.
import time
from datetime import datetime, timezone
class MyDatetime(datetime):
pass
MyDatetime.fromtimestamp(time.time())
# MyDatetime(2018, 11, 30, 18, 8, 36, 418105)
# <class '__main__.MyDatetime'>
MyDatetime.fromtimestamp(time.time(), tz=timezone.utc)
# datetime.datetime(2018, 11, 30, 17, 8, 50, 667385, tzinfo=datetime.timezone.utc)
# <class 'datetime.datetime'>
Это кажется удивительным.Я не вижу упоминаний о таком странном поведении в документации, я что-то упустил или это ошибка Python?