--- a/doc/pg_doc
+++ b/doc/pg_doc
@@ -2,20 +2,24 @@
 
 set -ex
 DOCBOOKSTYLE="/usr/share/sgml/docbook/stylesheet/dsssl/modular"
+: ${SOURCE_DATE_EPOCH:=$(date +%s)}
 
 mkdir -p html
 
 openjade -wall -wno-unused-param -wno-empty -wfully-tagged \
  -c ${DOCBOOKSTYLE}/catalog \
+ -V "(define source-date-epoch $SOURCE_DATE_EPOCH)" \
  -d stylesheet.dsl -t sgml -i output-html -V html-index plr.sgml
 
 openjade -wall -wno-unused-param -wno-empty -wfully-tagged \
  -c ${DOCBOOKSTYLE}/catalog \
+ -V "(define source-date-epoch $SOURCE_DATE_EPOCH)" \
  -d stylesheet.dsl -t sgml -i output-html -i include-index plr.sgml
 
 openjade  -D . -c ${DOCBOOKSTYLE}/catalog \
  -d ./stylesheet.dsl \
  -t tex -V tex-backend -i output-print \
+ -V "(define source-date-epoch $SOURCE_DATE_EPOCH)" \
  -V texpdf-output -V '%paper-type%'=USletter -o plr-US.tex-pdf plr.sgml
 
 pdfjadetex plr-US.tex-pdf
--- a/doc/stylesheet.dsl
+++ b/doc/stylesheet.dsl
@@ -221,7 +221,7 @@
 ;; Add character encoding and time of creation into HTML header
 (define %html-header-tags%
   (list (list "META" '("HTTP-EQUIV" "Content-Type") '("CONTENT" "text/html; charset=ISO-8859-1"))
-        (list "META" '("NAME" "creation") (list "CONTENT" (time->string (time) #t)))))
+        (list "META" '("NAME" "creation") (list "CONTENT" (time->string source-date-epoch #t)))))
 
 
 ;; Block elements are allowed in PARA in DocBook, but not in P in
