From 1799a6ae364c13286e3195ae03a39e7aa82334bf Mon Sep 17 00:00:00 2001 From: Elyse <26639800+elyse0@users.noreply.github.com> Date: Thu, 9 Mar 2023 17:18:44 -0600 Subject: [PATCH] [utils] Allow using local timezone for 'now' timestamps --- yt_dlp/utils.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py index a2e2c8fc6..7dfc1d6dc 100644 --- a/yt_dlp/utils.py +++ b/yt_dlp/utils.py @@ -1893,7 +1893,7 @@ def subtitles_filename(filename, sub_lang, sub_format, expected_real_ext=None): return replace_extension(filename, sub_lang + '.' + sub_format, expected_real_ext) -def datetime_from_str(date_str, precision='auto', format='%Y%m%d'): +def datetime_from_str(date_str, precision='auto', format='%Y%m%d', use_utc=True): R""" Return a datetime object from a string. Supported format: @@ -1902,12 +1902,13 @@ def datetime_from_str(date_str, precision='auto', format='%Y%m%d'): @param format strftime format of DATE @param precision Round the datetime object: auto|microsecond|second|minute|hour|day auto: round to the unit provided in date_str (if applicable). + @param use_utc Use UTC instead of local timezone for 'now' timestamps. """ auto_precision = False if precision == 'auto': auto_precision = True precision = 'microsecond' - today = datetime_round(datetime.datetime.utcnow(), precision) + today = datetime_round(datetime.datetime.utcnow() if use_utc else datetime.datetime.now(), precision) if date_str in ('now', 'today'): return today if date_str == 'yesterday': @@ -1916,7 +1917,7 @@ def datetime_from_str(date_str, precision='auto', format='%Y%m%d'): r'(?P.+)(?P[+-])(?P