[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/iso8601 dfba918: Allow adding time zones
From: |
Lars Ingebrigtsen |
Subject: |
[Emacs-diffs] scratch/iso8601 dfba918: Allow adding time zones |
Date: |
Mon, 8 Jul 2019 12:09:58 -0400 (EDT) |
branch: scratch/iso8601
commit dfba918cfcd34a15d6bcaffb0e08e26da8911d62
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>
Allow adding time zones
---
lisp/calendar/time-date.el | 4 ++++
test/lisp/calendar/time-date-tests.el | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el
index 35c89a2..ef6e9bc 100644
--- a/lisp/calendar/time-date.el
+++ b/lisp/calendar/time-date.el
@@ -421,6 +421,10 @@ changes in daylight saving time are not taken into
account."
(setq seconds (+ (* (or (decoded-time-hour delta) 0) 3600)
(* (or (decoded-time-minute delta) 0) 60)
(or (decoded-time-second delta) 0)))
+
+ ;; Time zone adjustments are basically the same as time adjustments.
+ (setq seconds (+ seconds (or (decoded-time-zone delta) 0)))
+
(cond
((> seconds 0)
(decoded-time--alter-second time seconds t))
diff --git a/test/lisp/calendar/time-date-tests.el
b/test/lisp/calendar/time-date-tests.el
index 02df0cd..d6cf742 100644
--- a/test/lisp/calendar/time-date-tests.el
+++ b/test/lisp/calendar/time-date-tests.el
@@ -97,6 +97,13 @@
'(12 15 16 9 7 2019 1 t 7200)))
))
+(ert-deftest test-decoded-add-zone ()
+ (let ((time '(12 15 16 8 7 2019 1 t 7200)))
+ (should (equal (decoded-time-add time (mdec :zone -3600))
+ '(12 15 15 8 7 2019 1 t 7200)))
+ (should (equal (decoded-time-add time (mdec :zone -7200))
+ '(12 15 14 8 7 2019 1 t 7200)))))
+
(require 'ert)
;;; time-date-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] scratch/iso8601 dfba918: Allow adding time zones,
Lars Ingebrigtsen <=