Function: calcFunc-tzone
calcFunc-tzone is an autoloaded and byte-compiled function defined in
calc-forms.el.gz.
Signature
(calcFunc-tzone &optional ZONE DATE)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-forms.el.gz
(defun calcFunc-tzone (&optional zone date)
(if zone
(cond ((math-realp zone)
(math-round (math-mul zone 3600)))
((eq (car zone) 'hms)
(math-round (math-mul (math-from-hms zone 'deg) 3600)))
((eq (car zone) '+)
(math-add (calcFunc-tzone (nth 1 zone) date)
(calcFunc-tzone (nth 2 zone) date)))
((eq (car zone) '-)
(math-sub (calcFunc-tzone (nth 1 zone) date)
(calcFunc-tzone (nth 2 zone) date)))
((eq (car zone) 'var)
(let ((name (upcase (symbol-name (nth 1 zone))))
found)
(if (setq found (assoc name math-tzone-names))
(calcFunc-tzone (math-add (nth 1 found)
(if (integerp (nth 2 found))
(nth 2 found)
(or
(math-daylight-savings-adjust
date (car found))
0)))
date)
(if (equal name "LOCAL")
(calcFunc-tzone nil date)
(math-reject-arg zone "*Unrecognized time zone name")))))
(t (math-reject-arg zone "*Expected a time zone")))
(if (calc-var-value 'var-TimeZone)
(calcFunc-tzone (calc-var-value 'var-TimeZone) date)
(let ((tzinfo (math-get-calendar-tzinfo)))
(+ (nth 0 tzinfo)
(* (math-cal-daylight-savings-adjust date) (nth 1 tzinfo)))))))