package timmy

  1. Overview
  2. Docs

A month.

A month.

Type

type t =
  1. | January
  2. | February
  3. | March
  4. | April
  5. | May
  6. | June
  7. | July
  8. | August
  9. | September
  10. | October
  11. | November
  12. | December

A month.

Time manipulation

val add_months : t -> int -> t

add_months month n is the month occuring n months after month.

val days : year:int -> t -> Date.t Base.Sequence.t

days ~year month is the sequence of days in month of year year in chronological order.

val to_date : year:int -> t -> Date.t

to_date ~year month is the first day of month month in year year

Scalar conversions

Integer

val to_int : t -> int

to_int month is the 1-based index of month in the year, ie. 1 is January and 12 is December.

val of_int : int -> (t, string) Result.t

of_int n is the t corresponding to the nth month of the year, 1 being January and 12 December.

Pretty-print

val pp : t Fmt.t

pp f month pretty-prints month to f as its english name.

String

val to_string : t -> string

to_string month is the english name of month.

val of_string : string -> (t, string) Result.t

of_string month is the month corresponding to english name month.

Comparison

include Base.Comparable.S with type t := t
include Base.Comparisons.S with type t := t
include Base.Comparisons.Infix with type t := t
val equal : t -> t -> bool
val compare : t -> t -> int

compare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.

val min : t -> t -> t
val max : t -> t -> t
val ascending : t -> t -> int

ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.

val descending : t -> t -> int
val between : t -> low:t -> high:t -> bool

between t ~low ~high means low <= t <= high

val clamp_exn : t -> min:t -> max:t -> t

clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.

Raises if not (min <= max).

val clamp : t -> min:t -> max:t -> t Base.Or_error.t
include Base.Comparator.S with type t := t
type comparator_witness

Operators

module O : sig ... end

Convenience module to only pull operators.

include module type of O

Convenience module to only pull operators.

include Base.Comparable.Infix with type t := t
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (=) : t -> t -> bool
val (>) : t -> t -> bool
val (<) : t -> t -> bool
val (<>) : t -> t -> bool
val (+) : t -> int -> t

month + n is add_months month n

OCaml

Innovation. Community. Security.