diff options
Diffstat (limited to 'src/dates.scm')
-rw-r--r-- | src/dates.scm | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/dates.scm b/src/dates.scm deleted file mode 100644 index a70aa01..0000000 --- a/src/dates.scm +++ /dev/null @@ -1,44 +0,0 @@ -(define-module (src dates) - #:use-module (ice-9 format) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-19) - #:export (string/ISO->date - date->string/RFC3339 - unix-date - newest - find-newest - date>?)) - -(define (string/ISO->date string) - (string->date string "~Y-~m-~d")) - -(define (date->string/RFC3339 date) - (call-with-output-string - (lambda (p) - (let* ((offset (abs (date-zone-offset date))) - (rem-h-seconds (modulo offset (* 60 60))) - (offset-hours (floor (/ (- offset rem-h-seconds) 60 60))) - (rem-m-seconds (modulo rem-h-seconds 60)) - (offset-minutes (floor (/ (- rem-h-seconds rem-m-seconds) 60)))) - (format - p - "~4,'0d-~2,'0d-~2,'0dT~2,'0d:~2,'0d:~2,'0d~:[Z~;~c~2,'0d:~2,'0d~]" - (date-year date) - (date-month date) - (date-day date) - (date-hour date) - (date-minute date) - (date-second date) - (not (= 0 (date-zone-offset date))) - (if (< 0 (date-zone-offset date)) #\+ #\-) - offset-hours - offset-minutes))))) - -(define unix-date (string/ISO->date "1970-01-01")) - -(define (newest a b) (if (time>? (date->time-utc a) (date->time-utc b)) a b)) - -(define (date>? a b) - (time>? (date->time-utc a) (date->time-utc b))) - -(define (find-newest dates) (reduce newest unix-date dates)) |