From de4d3171a82d08e0cdd9c1760f212d228f6f4739 Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Fri, 3 Jan 2025 01:36:46 +0300 Subject: [PATCH] Do not perform any timezone conversions if SOURCE_DATE_EPOCH is set (#13203) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> --- sphinx/util/i18n.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sphinx/util/i18n.py b/sphinx/util/i18n.py index d0edcc88b..b4953032d 100644 --- a/sphinx/util/i18n.py +++ b/sphinx/util/i18n.py @@ -249,6 +249,9 @@ def format_date( source_date_epoch = os.getenv('SOURCE_DATE_EPOCH') if source_date_epoch is not None: date = datetime.fromtimestamp(float(source_date_epoch), tz=UTC) + # If SOURCE_DATE_EPOCH is set, users likely want a reproducible result, + # so enforce GMT/UTC for consistency. + local_time = False else: date = datetime.now(tz=UTC)