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.