diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-19 22:29:03 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-19 22:29:03 +0200 |
commit | 162649858bba96ae17eb73f5ca0833df5843f2a9 (patch) | |
tree | 0497abf81ff2d0f5d83d85735a2da0da2c45ab4a /module/datetime.scm | |
parent | Remove leap and expiry from zic. (diff) | |
download | calp-162649858bba96ae17eb73f5ca0833df5843f2a9.tar.gz calp-162649858bba96ae17eb73f5ca0833df5843f2a9.tar.xz |
date=, datetime=, time= any number of arguments.
Diffstat (limited to 'module/datetime.scm')
-rw-r--r-- | module/datetime.scm | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/module/datetime.scm b/module/datetime.scm index b8b515fc..3bbb48a9 100644 --- a/module/datetime.scm +++ b/module/datetime.scm @@ -208,19 +208,29 @@ ;; 2020-02-00 + 0-0- (40 - 31) ; ;; 2020-02-09 -(define-public (date= a b) - (and (= (year a) (year b)) - (= (month a) (month b)) - (= (day a) (day b)))) - -(define-public (time= a b) - (and (= (hour a) (hour b)) - (= (minute a) (minute b)) - (= (second a) (second b)))) - -(define-public (datetime= a b) - (and (date= (get-date a) (get-date b)) - (time= (get-time% a) (get-time% b)))) +(define-public (date= . args) + (reduce (lambda (a b) + (and (= (year a) (year b)) + (= (month a) (month b)) + (= (day a) (day b)) + ;; return object + a)) + #t args)) + +(define-public (time= . args) + (reduce (lambda (a b) + (and (= (hour a) (hour b)) + (= (minute a) (minute b)) + (= (second a) (second b)) + a)) + #t args)) + +(define-public (datetime= . args) + (reduce (lambda (a b) + (and (date= (get-date a) (get-date b)) + (time= (get-time% a) (get-time% b)) + a)) + #t args)) (define-many define-public (date=?) date= |