Function: decoded-time-set-defaults
decoded-time-set-defaults is a byte-compiled function defined in
time-date.el.gz.
Signature
(decoded-time-set-defaults TIME &optional DEFAULT-ZONE)
Documentation
Set any nil values in decoded-time TIME to default values.
The default value is based on January 1st, 1970 at midnight. This year is used to guarantee portability; see Info node (elisp) Time of Day.
TIME is modified and returned.
Probably introduced at or before Emacs version 27.1.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/time-date.el.gz
(defun decoded-time-set-defaults (time &optional default-zone)
"Set any nil values in `decoded-time' TIME to default values.
The default value is based on January 1st, 1970 at midnight.
This year is used to guarantee portability; see Info
node `(elisp) Time of Day'.
TIME is modified and returned."
(unless (decoded-time-second time)
(setf (decoded-time-second time) 0))
(unless (decoded-time-minute time)
(setf (decoded-time-minute time) 0))
(unless (decoded-time-hour time)
(setf (decoded-time-hour time) 0))
(unless (decoded-time-day time)
(setf (decoded-time-day time) 1))
(unless (decoded-time-month time)
(setf (decoded-time-month time) 1))
(unless (decoded-time-year time)
(setf (decoded-time-year time) 1970))
;; When we don't have a time zone, default to DEFAULT-ZONE without
;; DST if DEFAULT-ZONE if given, and to unknown DST otherwise.
(unless (decoded-time-zone time)
(if default-zone
(progn (setf (decoded-time-zone time) default-zone)
(setf (decoded-time-dst time) nil))
(setf (decoded-time-dst time) -1)))
time)