Function: calendar-current-time-zone
calendar-current-time-zone is a byte-compiled function defined in
cal-dst.el.gz.
Signature
(calendar-current-time-zone)
Documentation
Return UTC difference, dst offset, names and rules for current time zone.
Returns (UTC-DIFF DST-OFFSET STD-ZONE DST-ZONE DST-STARTS DST-ENDS DST-STARTS-TIME DST-ENDS-TIME), based on a heuristic probing of what the system knows:
UTC-DIFF is an integer specifying the number of minutes difference between
standard time in the current time zone and Coordinated Universal Time
(Greenwich Mean Time). A negative value means west of Greenwich.
DST-OFFSET is an integer giving the daylight saving time offset in minutes.
STD-ZONE is a string giving the name of the time zone when no seasonal time
adjustment is in effect.
DST-ZONE is a string giving the name of the time zone when there is a seasonal
time adjustment in effect.
DST-STARTS and DST-ENDS are sexps in the variable year giving the daylight
saving time start and end rules, in the form expected by
calendar-daylight-savings-starts.
DST-STARTS-TIME and DST-ENDS-TIME are integers giving the number of minutes
after midnight that daylight saving time starts and ends.
If the local area does not use a seasonal time adjustment, STD-ZONE and DST-ZONE are equal, and all the DST-* integer variables are 0.
Some operating systems cannot provide all this information to Emacs; in this
case, calendar-current-time-zone returns a list containing nil for the data
it can't find.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/cal-dst.el.gz
(defun calendar-current-time-zone ()
"Return UTC difference, dst offset, names and rules for current time zone.
Returns (UTC-DIFF DST-OFFSET STD-ZONE DST-ZONE DST-STARTS DST-ENDS
DST-STARTS-TIME DST-ENDS-TIME), based on a heuristic probing of what the
system knows:
UTC-DIFF is an integer specifying the number of minutes difference between
standard time in the current time zone and Coordinated Universal Time
(Greenwich Mean Time). A negative value means west of Greenwich.
DST-OFFSET is an integer giving the daylight saving time offset in minutes.
STD-ZONE is a string giving the name of the time zone when no seasonal time
adjustment is in effect.
DST-ZONE is a string giving the name of the time zone when there is a seasonal
time adjustment in effect.
DST-STARTS and DST-ENDS are sexps in the variable `year' giving the daylight
saving time start and end rules, in the form expected by
`calendar-daylight-savings-starts'.
DST-STARTS-TIME and DST-ENDS-TIME are integers giving the number of minutes
after midnight that daylight saving time starts and ends.
If the local area does not use a seasonal time adjustment, STD-ZONE and
DST-ZONE are equal, and all the DST-* integer variables are 0.
Some operating systems cannot provide all this information to Emacs; in this
case, `calendar-current-time-zone' returns a list containing nil for the data
it can't find."
(or calendar-current-time-zone-cache
(setq calendar-current-time-zone-cache (calendar-dst-find-data))))