Document new cal-day.

This commit is contained in:
Dominik Pantůček 2023-05-13 17:27:50 +02:00
parent 38a1ba6c95
commit 923faa0e84

View file

@ -22,6 +22,8 @@ with calendar dates - mostly with month granularity.
### Month
(import cal-month)
Module for handling months algebra to be used in period construction
and matching.
@ -136,6 +138,8 @@ Returns a new valid month that comes ```n``` months after ```m```. If
### Period
(import cal-period)
This module implements simple calendar period handling with month
granularity. The period contains fields ```since``` which is the first
month of the period and ```before``` which is the first month just
@ -261,3 +265,71 @@ If ```v``` is a valid month, returns it unchanged. If it is a day,
uses ```cal-day->month``` for conversion with given ```stop?``` as
second argument.
### Day
(import cal-day)
This module encapsulates date storage with daily granularity.
(make-cal-day y m d)
* ```y``` - valid year (1000-9999)
* ```m``` - valid month number (1-12)
* ```d``` - valid day number (1-31)
Construct a new cal-day structure representing a single calendar day.
(cal-day? v)
* ```v``` - any value
Return ```#t``` if given value is a cal-day structure and it
represents a valid day, ```#f``` otherwise.
(cal-day-year d)
* ```d``` - valid cal-day structure
Returns the year field of the structure.
(cal-day-month d)
* ```d``` - valid cal-day structure
Returns the month field of the structure.
(cal-day-day d)
* ```d``` - valid cal-day structure
Returns the day field of the structure.
(cal-day->month d [stop?])
* ```d``` - a valid cal-day structure
* ```stop?``` - if ```#t```, conversion for period end
Converts given cal-day to cal-month. If ```stop?``` is ```#f```, it
just strips the day number. Otherwise it converts the day to the same
month only if it is the first day of the month. It converts to the
next calendar month otherwise.
(cal-day->string d)
* ```d``` - a valid cal-day structure
Converts given day into "YYYY-MM-DD" ISO string representation.
(string->cal-day s)
* ```s``` - a string containing "YYYY-MM-DD" ISO date
Parses the string and returns a valid cal-day structure.
(parse-cal-day/month s)
* ```s``` - a string with ISO date with optional day part
Tries parsing the string as cal-day and returns the result upon
success. Upon failure, parses the string as cal-month.