}
DEFUN ("format-time-string", Fformat_time_string, Sformat_time_string, 1, 3, 0,
- doc: /* Use FORMAT-STRING to format the time TIME, or now if omitted.
+ doc: /* Use FORMAT-STRING to format the time TIME, or now if omitted or nil.
TIME is specified as (HIGH LOW USEC PSEC), as returned by
- `current-time' or `file-attributes'. The obsolete form (HIGH . LOW)
- is also still accepted.
-`current-time' or `file-attributes'.
-It can also be a single integer number of seconds since the epoch.
-The obsolete form (HIGH . LOW) is also still accepted.
-The optional ZONE is omitted or nil for Emacs local time,
-t for Universal Time, `wall' for system wall clock time,
-or a string as in the TZ environment variable.
++`current-time' or `file-attributes'. It can also be a single integer
++number of seconds since the epoch. The obsolete form (HIGH . LOW) is
++also still accepted.
+
+The optional ZONE is omitted or nil for Emacs local time, t for
+Universal Time, `wall' for system wall clock time, or a string as in
+the TZ environment variable. It can also be a list (as from
+`current-time-zone') or an integer (as from `decode-time') applied
+without consideration for daylight saving time.
The value is a copy of FORMAT-STRING, but with certain constructs replaced
by text that describes the specified date and time in TIME:
doc: /* Decode a time value as (SEC MINUTE HOUR DAY MONTH YEAR DOW DST UTCOFF).
The optional SPECIFIED-TIME should be a list of (HIGH LOW . IGNORED),
as from `current-time' and `file-attributes', or nil to use the
- current time. The obsolete form (HIGH . LOW) is also still accepted.
-current time.
-It can also be a single integer number of seconds since the epoch.
-The obsolete form (HIGH . LOW) is also still accepted.
++current time. It can also be a single integer number of seconds since
++the epoch. The obsolete form (HIGH . LOW) is also still accepted.
+
The optional ZONE is omitted or nil for Emacs local time, t for
Universal Time, `wall' for system wall clock time, or a string as in
-the TZ environment variable.
+the TZ environment variable. It can also be a list (as from
+`current-time-zone') or an integer (as from `decode-time') applied
+without consideration for daylight saving time.
The list has the following nine members: SEC is an integer between 0
and 60; SEC is 60 for a leap second, which only some operating systems
If SPECIFIED-TIME is given, it is a time to format instead of the
current time. The argument should have the form (HIGH LOW . IGNORED).
Thus, you can use times obtained from `current-time' and from
- `file-attributes'. SPECIFIED-TIME can also have the form (HIGH . LOW),
- but this is considered obsolete.
-`file-attributes'. SPECIFIED-TIME can also be a single integer
-number of seconds since the epoch.
-SPECIFIED-TIME can also have the form (HIGH . LOW), but this is
-considered obsolete.
++`file-attributes'. SPECIFIED-TIME can also be a single integer number
++of seconds since the epoch. The obsolete form (HIGH . LOW) is also
++still accepted.
The optional ZONE is omitted or nil for Emacs local time, t for
Universal Time, `wall' for system wall clock time, or a string as in
If SPECIFIED-TIME is given, the time zone offset is determined from it
instead of using the current time. The argument should have the form
\(HIGH LOW . IGNORED). Thus, you can use times obtained from
- `current-time' and from `file-attributes'. SPECIFIED-TIME can also
- have the form (HIGH . LOW), but this is considered obsolete.
+ `current-time' and from `file-attributes'. SPECIFIED-TIME can also be
-a single integer number of seconds since the epoch. SPECIFIED-TIME can
-also have the form (HIGH . LOW), but this is considered obsolete.
-Optional second arg ZONE is omitted or nil for the local time zone, or
-a string as in the TZ environment variable.
++a single integer number of seconds since the epoch. The obsolete form
++(HIGH . LOW) is also still accepted.
+
+The optional ZONE is omitted or nil for Emacs local time, t for
+Universal Time, `wall' for system wall clock time, or a string as in
+the TZ environment variable. It can also be a list (as from
+`current-time-zone') or an integer (as from `decode-time') applied
+without consideration for daylight saving time.
Some operating systems cannot provide all this information to Emacs;
in this case, `current-time-zone' returns a list containing nil for