=== modified file 'bzrlib/doc_generate/__init__.py'
--- a/bzrlib/doc_generate/__init__.py
+++ b/bzrlib/doc_generate/__init__.py
@@ -16,6 +16,9 @@
 
 from __future__ import absolute_import
 
+import datetime
+import os
+
 
 def get_module(target):
     mod_name = "bzrlib.doc_generate.autodoc_%s" % (target)
@@ -25,3 +28,14 @@
         mod = getattr(mod, comp)
     return mod
 
+
+def get_autodoc_datetime():
+    """Obtain the datetime to use for timestamps embedded in generated docs.
+
+    :return: A `datetime` object
+    """
+    try:
+        return datetime.datetime.utcfromtimestamp(
+            int(os.environ['SOURCE_DATE_EPOCH']))
+    except (KeyError, ValueError):
+        return datetime.datetime.utcnow()
--- a/bzrlib/doc_generate/autodoc_bash_completion.py
+++ b/bzrlib/doc_generate/autodoc_bash_completion.py
@@ -18,12 +18,11 @@
 
 from __future__ import absolute_import
 
-import time
-
 import bzrlib
 import bzrlib.help
 import bzrlib.commands
 import bzrlib.osutils
+from bzrlib.doc_generate import get_autodoc_datetime
 
 
 def get_filename(options):
@@ -31,11 +30,11 @@
 
 
 def infogen(options, outfile):
-    tt = bzrlib.osutils.gmtime()
+    d = get_autodoc_datetime()
     params = \
            { "bzrcmd": options.bzr_name,
-             "datestamp": time.strftime("%Y-%m-%d",tt),
-             "timestamp": time.strftime("%Y-%m-%d %H:%M:%S +0000",tt),
+             "datestamp": d.strftime("%Y-%m-%d"),
+             "timestamp": d.strftime("%Y-%m-%d %H:%M:%S +0000"),
              "version": bzrlib.__version__,
              }
 
--- a/bzrlib/doc_generate/autodoc_man.py
+++ b/bzrlib/doc_generate/autodoc_man.py
@@ -26,13 +26,13 @@
 PLUGINS_TO_DOCUMENT = ["launchpad"]
 
 import textwrap
-import time
 
 import bzrlib
 import bzrlib.help
 import bzrlib.help_topics
 import bzrlib.commands
 import bzrlib.osutils
+from bzrlib.doc_generate import get_autodoc_datetime
 
 from bzrlib.plugin import load_plugins
 load_plugins()
@@ -45,11 +45,11 @@
 
 def infogen(options, outfile):
     """Assembles a man page"""
-    tt = bzrlib.osutils.gmtime()
+    d = get_autodoc_datetime()
     params = \
            { "bzrcmd": options.bzr_name,
-             "datestamp": time.strftime("%Y-%m-%d",tt),
-             "timestamp": time.strftime("%Y-%m-%d %H:%M:%S +0000",tt),
+             "datestamp": d.strftime("%Y-%m-%d"),
+             "timestamp": d.strftime("%Y-%m-%d %H:%M:%S +0000"),
              "version": bzrlib.__version__,
              }
     outfile.write(man_preamble % params)
