datetime.tzinfo is abstract (#8908)

This commit is contained in:
Nikita Sobolev
2022-10-17 02:20:31 +03:00
committed by GitHub
parent 3e828bd307
commit 9c5a588078
3 changed files with 14 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
import sys
from _typeshed import Self
from abc import ABCMeta, abstractmethod
from time import struct_time
from typing import ClassVar, NamedTuple, NoReturn, SupportsAbs, TypeVar, overload
from typing_extensions import Literal, TypeAlias, final
@@ -14,9 +15,12 @@ _D = TypeVar("_D", bound=date)
MINYEAR: Literal[1]
MAXYEAR: Literal[9999]
class tzinfo:
class tzinfo(metaclass=ABCMeta):
@abstractmethod
def tzname(self, __dt: datetime | None) -> str | None: ...
@abstractmethod
def utcoffset(self, __dt: datetime | None) -> timedelta | None: ...
@abstractmethod
def dst(self, __dt: datetime | None) -> timedelta | None: ...
def fromutc(self, __dt: datetime) -> datetime: ...
@@ -29,6 +33,9 @@ class timezone(tzinfo):
min: ClassVar[timezone]
max: ClassVar[timezone]
def __init__(self, offset: timedelta, name: str = ...) -> None: ...
def tzname(self, __dt: datetime | None) -> str: ...
def utcoffset(self, __dt: datetime | None) -> timedelta: ...
def dst(self, __dt: datetime | None) -> None: ...
if sys.version_info >= (3, 11):
UTC: timezone