aboutsummaryrefslogtreecommitdiff
path: root/module/datetime.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-03-23 00:34:28 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2020-03-23 00:36:21 +0100
commitae47899079a448b2d71101d4b21c8e9409d82e34 (patch)
tree73fa1ec4d618d2a66650fee59b1e377cd7b3e40a /module/datetime.scm
parentRemove unused datetime->decimal-hour. (diff)
downloadcalp-ae47899079a448b2d71101d4b21c8e9409d82e34.tar.gz
calp-ae47899079a448b2d71101d4b21c8e9409d82e34.tar.xz
Remove deprecated get-time.
Diffstat (limited to 'module/datetime.scm')
-rw-r--r--module/datetime.scm25
1 files changed, 15 insertions, 10 deletions
diff --git a/module/datetime.scm b/module/datetime.scm
index 2b330a9c..9b0ccd47 100644
--- a/module/datetime.scm
+++ b/module/datetime.scm
@@ -142,8 +142,8 @@
;; timezone info it's discarded and a local timestamp produced.
;; It's deprecated since the local time of a datetime can be in another date
;; than the original. which is fun...
-(define-public (get-time dt)
- (get-time% (get-datetime dt)))
+;; (define-public (get-time dt)
+;; (get-time% (get-datetime dt)))
;;; UTIL
@@ -176,7 +176,7 @@
[else "Object not a date, time, or datetime object ~a" date/-time]))
(define-public (as-time date/-time)
- (cond [(datetime? date/-time) (get-time date/-time)]
+ (cond [(datetime? date/-time) (get-time% (get-datetime date/-time))]
[(date? date/-time) (time)]
[(time? date/-time) date/-time]
[else "Object not a date, time, or datetime object ~a" date/-time]))
@@ -207,8 +207,10 @@
(= (second a) (second b))))
(define-public (datetime= a b)
- (and (date= (get-date a) (get-date b))
- (time= (get-time a) (get-time 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)))))
(define-many define-public
(date=?) date=
@@ -530,12 +532,15 @@
;;; DATETIME
+;; 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* ((time overflow (time+ (get-time base) (get-time change))))
- (datetime date: (date+ (get-date base)
- (get-date change)
- (date day: overflow))
- time: time)))
+ (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))))
;; (define (datetime->srfi-19-date date)
;; ((@ (srfi srfi-19) make-date)