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 most nil values in decoded-time TIME to default values.
This can set TIME's year, month, day, hour, minute and second. 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.
Optional argument DEFAULT-ZONE specifies what time zone to default to when TIME's time zone is nil (meaning local time).
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 most nil values in `decoded-time' TIME to default values.
This can set TIME's year, month, day, hour, minute and second.
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'.
Optional argument DEFAULT-ZONE specifies what time zone to
default to when TIME's time zone is nil (meaning local time).
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))
(unless (decoded-time-zone time)
(setf (decoded-time-zone time) default-zone))
;; Do not set decoded-time-weekday or decoded-time-dst,
;; as encode-time can infer them well enough when unknown.
time)