Function: dst-in-effect

dst-in-effect is a byte-compiled function defined in cal-dst.el.gz.

Signature

(dst-in-effect DATE)

Documentation

True if on absolute DATE daylight saving time is in effect.

Fractional part of DATE is local standard time of day.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/cal-dst.el.gz
;; used by calc, solar.
(defun dst-in-effect (date)
  "True if on absolute DATE daylight saving time is in effect.
Fractional part of DATE is local standard time of day."
  (calendar-dlet ((year (calendar-extract-year
                          (calendar-gregorian-from-absolute (floor date)))))
    (let* ((dst-starts-gregorian (eval calendar-daylight-savings-starts))
           (dst-ends-gregorian (eval calendar-daylight-savings-ends))
           (dst-starts (and dst-starts-gregorian
                            (+ (calendar-absolute-from-gregorian
                                dst-starts-gregorian)
                               (/ calendar-daylight-savings-starts-time
                                  60.0 24.0))))
           (dst-ends (and dst-ends-gregorian
                          (+ (calendar-absolute-from-gregorian
                              dst-ends-gregorian)
                             (/ (- calendar-daylight-savings-ends-time
                                   calendar-daylight-time-offset)
                                60.0 24.0)))))
      (and dst-starts dst-ends
           (if (< dst-starts dst-ends)
               (and (<= dst-starts date) (< date dst-ends))
             (or (<= dst-starts date) (< date dst-ends)))))))