aboutsummaryrefslogtreecommitdiff
path: root/module/datetime.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-05-05 21:34:52 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-05-05 21:34:56 +0200
commit228d485e10f44b402843badabba4f09599f3c2a3 (patch)
tree2b00de0ea6a1b7a9c4cceff31f7ec009941731f7 /module/datetime.scm
parentAdd profile! macro. (diff)
downloadcalp-228d485e10f44b402843badabba4f09599f3c2a3.tar.gz
calp-228d485e10f44b402843badabba4f09599f3c2a3.tar.xz
Change to only call get-datetime in parse.
Diffstat (limited to 'module/datetime.scm')
-rw-r--r--module/datetime.scm56
1 files changed, 23 insertions, 33 deletions
diff --git a/module/datetime.scm b/module/datetime.scm
index 0cca216b..b2a3d38e 100644
--- a/module/datetime.scm
+++ b/module/datetime.scm
@@ -188,7 +188,7 @@
[else (error "Object not a date, time, or datetime object ~a" date/-time)]))
(define-public (as-time date/-time)
- (cond [(datetime? date/-time) (get-time% (get-datetime date/-time))]
+ (cond [(datetime? date/-time) (get-time% date/-time)]
[(date? date/-time) (time)]
[(time? date/-time) date/-time]
[else (error "Object not a date, time, or datetime object ~a" date/-time)]))
@@ -219,10 +219,8 @@
(= (second a) (second b))))
(define-public (datetime= a b)
- (let ((a (get-datetime a))
- (b (get-datetime b)))
- (and (date= (get-date a) (get-date b))
- (time= (get-time% a) (get-time% b)))))
+ (and (date= (get-date a) (get-date b))
+ (time= (get-time% a) (get-time% b))))
(define-many define-public
(date=?) date=
@@ -276,18 +274,14 @@
(time< a b)))
(define-public (datetime< a b)
- (let ((a (get-datetime a))
- (b (get-datetime b)))
- (if (date= (get-date a) (get-date b))
- (time< (get-time% a) (get-time% b))
- (date< (get-date a) (get-date b)))))
+ (if (date= (get-date a) (get-date b))
+ (time< (get-time% a) (get-time% b))
+ (date< (get-date a) (get-date b))))
(define-public (datetime<= a b)
- (let ((a (get-datetime a))
- (b (get-datetime b)))
- (if (date= (get-date a) (get-date b))
- (time<= (get-time% a) (get-time% b))
- (date<= (get-date a) (get-date b)))))
+ (if (date= (get-date a) (get-date b))
+ (time<= (get-time% a) (get-time% b))
+ (date<= (get-date a) (get-date b))))
(define-public (date/-time< a b)
(datetime< (as-datetime a) (as-datetime b)))
@@ -560,15 +554,13 @@
;; NOTE that base is re-normalized, but change isn't. This is due to base
;; hopefully being a real date, but change just being a difference.
(define-public (datetime+ base change)
- (let (; (base (get-datetime base))
- )
- (let* ((time overflow (time+ (get-time% base) (get-time% change))))
- (datetime date: (date+ (get-date base)
- (get-date change)
- (date day: overflow))
- time: time
- tz: (get-timezone base)
- ))))
+ (let* ((time overflow (time+ (get-time% base) (get-time% change))))
+ (datetime date: (date+ (get-date base)
+ (get-date change)
+ (date day: overflow))
+ time: time
+ tz: (get-timezone base)
+ )))
;; (define (datetime->srfi-19-date date)
;; ((@ (srfi srfi-19) make-date)
@@ -658,16 +650,14 @@
(day = (- 1)))))
-(define-public (datetime-difference end* start*)
+(define-public (datetime-difference end start)
;; NOTE Makes both start and end datetimes in the current local time.
- (let ((end (get-datetime end*))
- (start (get-datetime start*)))
- (let* ((fixed-time overflow (time- (get-time% end)
- (get-time% start))))
- (datetime date: (date-difference (date- (get-date end)
- (date day: overflow))
- (get-date start))
- time: fixed-time))))
+ (let* ((fixed-time overflow (time- (get-time% end)
+ (get-time% start))))
+ (datetime date: (date-difference (date- (get-date end)
+ (date day: overflow))
+ (get-date start))
+ time: fixed-time)))