summaryrefslogtreecommitdiffstats
path: root/Lib/datetime.py
diff options
context:
space:
mode:
authorPaul Ganssle <1377457+pganssle@users.noreply.github.com>2023-04-27 17:32:30 (GMT)
committerGitHub <noreply@github.com>2023-04-27 17:32:30 (GMT)
commit0b7fd8ffc5df187edf8b5d926cee359924462df5 (patch)
treef88f8ba6dea519974bc2da3a4e18d69d07aefc8f /Lib/datetime.py
parenta5308e188b810e5cc69c1570bdc9b21ed6c87805 (diff)
downloadcpython-0b7fd8ffc5df187edf8b5d926cee359924462df5.zip
cpython-0b7fd8ffc5df187edf8b5d926cee359924462df5.tar.gz
cpython-0b7fd8ffc5df187edf8b5d926cee359924462df5.tar.bz2
GH-103857: Deprecate utcnow and utcfromtimestamp (#103858)
Using `datetime.datetime.utcnow()` and `datetime.datetime.utcfromtimestamp()` will now raise a `DeprecationWarning`. We also have removed our internal uses of these functions and documented the change.
Diffstat (limited to 'Lib/datetime.py')
-rw-r--r--Lib/datetime.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/Lib/datetime.py b/Lib/datetime.py
index 09a2d2d..b0eb1c2 100644
--- a/Lib/datetime.py
+++ b/Lib/datetime.py
@@ -1801,6 +1801,13 @@ class datetime(date):
@classmethod
def utcfromtimestamp(cls, t):
"""Construct a naive UTC datetime from a POSIX timestamp."""
+ import warnings
+ warnings.warn("datetime.utcfromtimestamp() is deprecated and scheduled "
+ "for removal in a future version. Use timezone-aware "
+ "objects to represent datetimes in UTC: "
+ "datetime.fromtimestamp(t, datetime.UTC).",
+ DeprecationWarning,
+ stacklevel=2)
return cls._fromtimestamp(t, True, None)
@classmethod
@@ -1812,8 +1819,15 @@ class datetime(date):
@classmethod
def utcnow(cls):
"Construct a UTC datetime from time.time()."
+ import warnings
+ warnings.warn("datetime.utcnow() is deprecated and scheduled for "
+ "removal in a future version. Instead, Use timezone-aware "
+ "objects to represent datetimes in UTC: "
+ "datetime.now(datetime.UTC).",
+ DeprecationWarning,
+ stacklevel=2)
t = _time.time()
- return cls.utcfromtimestamp(t)
+ return cls._fromtimestamp(t, True, None)
@classmethod
def combine(cls, date, time, tzinfo=True):