mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 10:31:29 +00:00
[utils] strftime_or_none
: Workaround Python bug on Windows
CLoses #5185
This commit is contained in:
parent
2c98d99818
commit
d509c1f5a3
|
@ -2574,7 +2574,9 @@ def strftime_or_none(timestamp, date_format, default=None):
|
||||||
datetime_object = None
|
datetime_object = None
|
||||||
try:
|
try:
|
||||||
if isinstance(timestamp, (int, float)): # unix timestamp
|
if isinstance(timestamp, (int, float)): # unix timestamp
|
||||||
datetime_object = datetime.datetime.utcfromtimestamp(timestamp)
|
# Using naive datetime here can break timestamp() in Windows
|
||||||
|
# Ref: https://github.com/yt-dlp/yt-dlp/issues/5185, https://github.com/python/cpython/issues/94414
|
||||||
|
datetime_object = datetime.datetime.fromtimestamp(timestamp, datetime.timezone.utc)
|
||||||
elif isinstance(timestamp, str): # assume YYYYMMDD
|
elif isinstance(timestamp, str): # assume YYYYMMDD
|
||||||
datetime_object = datetime.datetime.strptime(timestamp, '%Y%m%d')
|
datetime_object = datetime.datetime.strptime(timestamp, '%Y%m%d')
|
||||||
date_format = re.sub( # Support %s on windows
|
date_format = re.sub( # Support %s on windows
|
||||||
|
|
Loading…
Reference in a new issue