We'll use our good all friend
SRFI 19, and by using
date->string, with the appropriate conversion specifiers, we'll get
what we want:
(require (lib"19.ss""srfi"))
(let ((today (current-date)))
(values
(date->stringtoday)
(date->stringtoday"Week No.: ~V, day: (~w of week) (~d of month)
(~j of year)")))
Note: there are several other specifiers that you can pass to date->string.
If what you need is the actual numbers, then you can extract this
information from the date instance yourself:
(require (lib"19.ss""srfi"))
(let ((today (current-date)))
(values
(date->stringtoday)
;; `1' means `Monday' is the first day of the week:
(date-week-numbertoday1)
(date-week-daytoday)
(date-daytoday)
(date-year-daytoday)))
If you are wondering what to use when you are using the Epoch
(seconds) representation of the given date, then you should consider
transforming your number of seconds to date, and then use this recipe. See recipe TimeEpochToTime to pass from seconds to dates.