aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--module/srfi/srfi-19/util.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/module/srfi/srfi-19/util.scm b/module/srfi/srfi-19/util.scm
index 3126be77..928f9abb 100644
--- a/module/srfi/srfi-19/util.scm
+++ b/module/srfi/srfi-19/util.scm
@@ -2,6 +2,7 @@
#:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-19 setters)
+ #:use-module (srfi srfi-41)
#:export (copy-date
drop-time! drop-time
in-day? today?
@@ -87,3 +88,15 @@ attribute set to 0. Can also be seen as \"Start of day\""
;; D
(and (time<? s2-begin s1-begin)
(time<? s1-end s2-end))))
+
+(define-public (normalize-date date)
+ (time-utc->date (date->time-utc date)
+ (zone-offset date)))
+
+;; Returns a stream of date objects, one day appart, staring from start-day.
+(define-public (day-stream start-day)
+ (stream-iterate
+ (lambda (d)
+ (set! (day d) (1+ (day d)))
+ (normalize-date d))
+ start-day))