Kday - functions to return the date of the first, last or nth day of the week on, nearest, before or after a given date

kday is a simple, no-dependencies library to calculate the date of the first, last or nth day of the week on, nearest, before or after a given date. The code is extracted from ex_cldr_calendars so has been in production for several years and therefore considered stable.

Functions

Examples

Days of the week follow the elixir convention of 1 being Monday and 7 being Sunday.

# Memorial Day in the US
iex> Kday.last_kday(~D[2017-05-31], 1)
~D[2017-05-29]

iex> Kday.kday_nearest(~D[2016-02-29], 2)
~D[2016-03-01]

iex> Kday.kday_on_or_after(~D[2017-11-30], 1)
~D[2017-12-04]
15 Likes

This is great, thanks for extracting! I wrote my own date_of_nth_weekday/3 a few years ago but it depends on Timex which is fine for that project but not ideal for others.