Mercurial > emacs
changeset 13686:6e3b9c9595eb
Fixed dst-in-effect for southern hemisphere. Also made doc string clearer.
author | Edward M. Reingold <reingold@emr.cs.iit.edu> |
---|---|
date | Tue, 05 Dec 1995 22:55:22 +0000 |
parents | bfc0a609e15a |
children | 9a985bcde00e |
files | lisp/calendar/cal-dst.el |
diffstat | 1 files changed, 11 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/calendar/cal-dst.el Mon Dec 04 18:22:22 1995 +0000 +++ b/lisp/calendar/cal-dst.el Tue Dec 05 22:55:22 1995 +0000 @@ -332,27 +332,26 @@ (defun dst-in-effect (date) "True if on absolute DATE daylight savings time is in effect. -Fractional part of DATE is time of day." +Fractional part of DATE is local standard time of day." (let* ((year (extract-calendar-year (calendar-gregorian-from-absolute (floor date)))) - (dst-starts (and (eval calendar-daylight-savings-starts) + (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 - (eval calendar-daylight-savings-starts)) + dst-starts-gregorian) (/ calendar-daylight-savings-starts-time 60.0 24.0)))) - (dst-ends (and (eval calendar-daylight-savings-ends) + (dst-ends (and dst-ends-gregorian (+ (calendar-absolute-from-gregorian - (eval calendar-daylight-savings-ends)) + dst-ends-gregorian) (/ (- calendar-daylight-savings-ends-time calendar-daylight-time-offset) 60.0 24.0))))) - (and (and dst-starts dst-ends - (or (and (< dst-starts dst-ends);; northern hemi. - (<= dst-starts date) (< date dst-ends)) - (and (< dst-ends dst-starts);; southern hemi. - (<= dst-starts date) (< date dst-ends)) - (and dst-starts (not dst-ends) (<= dst-starts date)) - (and dst-ends (not dst-starts) (< date dst-ends))))))) + (and dst-starts dst-ends + (if (< dst-starts dst-ends) + (and (<= dst-starts date) (< date dst-ends)) + (or (<= dst-starts date) (< date dst-ends)))))) (defun dst-adjust-time (date time &optional style) "Adjust, to account for dst on DATE, decimal fraction standard TIME.