(use srfi-19)
(define N 10)
(define date1 (string->date "2020-02-28T00:00:00+0900" "~Y-~m-~dT~H:~M:~S~z"))
(define duration1 (make-time 'time-duration 0 (* 6 60 60))) ; 6hr
(define time1 #f)
(do ((i 1 (+ i 1)))
((> i N))
(print (date->string date1 "~Y-~m-~dT~H:~M:~S~z"))
(set! time1 (date->time-utc date1))
(set! time1 (add-duration time1 duration1))
(set! date1 (time-utc->date time1)))
(define work-time-list
'(
7:45
6:00
5:30
7:15
))
(define total-hours 0)
(for-each
(lambda (time1)
(rxmatch-cond
((#/^(\d+):(\d+)$/ (x->string time1)) (#f hours minutes)
(inc! total-hours (+ (x->number hours)
(/. (x->number minutes) 60))))
(else
(errorf "invalid time found : ~a" time1))))
work-time-list)
(format #t "~%total-hours = ~a~%" total-hours)
hamayama(2022/02/28 12:36:39 UTC)(2022/03/06 02:00:28 UTC)
(2022/03/06 23:36:57 UTC)(2022/09/19 12:51:20 UTC)