From 52378d6fbc0387c8315fed0d702b0919e63a8279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 13 Jun 2020 00:55:15 +0200 Subject: Date, time & datetime now display themself in read-able forms. --- module/datetime.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'module/datetime.scm') diff --git a/module/datetime.scm b/module/datetime.scm index 957303b7..8591f6f9 100644 --- a/module/datetime.scm +++ b/module/datetime.scm @@ -45,7 +45,7 @@ (not (integer? (month r))) (not (integer? (day r)))) (format p "BAD~s-~s-~s" (year r) (month r) (day r)) - (format p "~4'0d-~2'0d-~2'0d" + (format p "#~4'0d-~2'0d-~2'0d" (year r) (month r) (day r))))) (define*-public (date key: (year 0) (month 0) (day 0)) @@ -66,7 +66,7 @@ (not (integer? (second r)))) (format p "BAD~s:~s:~s" (hour r) (minute r) (second r)) - (format p "~2'0d:~2'0d:~2'0d" + (format p "#~2'0d:~2'0d:~2'0d" (hour r) (minute r) (second r))))) (define*-public (time key: (hour 0) (minute 0) (second 0)) @@ -82,6 +82,15 @@ (tz tz) ; #f, "UTC", "Europe/Stockholm", ... ) +(set-record-type-printer! + + (lambda (r p) + (write `(datetime date: ,(get-date r) + time: ,(get-time% r) + ,@(awhen (tz r) + `(tz: ,it))) + p))) + (export get-date) (define-public (get-timezone datetime) (tz datetime)) -- cgit v1.2.3