aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-04-22 01:56:13 +0200
committerHugo Hörnquist <hugo@hornquist.se>2019-04-22 01:56:13 +0200
commit84b0930b8e2396fd8e967a0937591f031f0d79e3 (patch)
tree129f59e880b3d68c076d43808f759674f9c424ec
parentMove where streams are merged. (diff)
downloadcalp-84b0930b8e2396fd8e967a0937591f031f0d79e3.tar.gz
calp-84b0930b8e2396fd8e967a0937591f031f0d79e3.tar.xz
Add some date generating procedures.
-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))