From 162649858bba96ae17eb73f5ca0833df5843f2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 19 May 2020 22:29:03 +0200 Subject: date=, datetime=, time= any number of arguments. --- module/datetime.scm | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) (limited to 'module/datetime.scm') 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= -- cgit v1.2.3