package timmy-jsoo

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include Timmy.Week end

A week of a year.

A week of a year.

Type

type t = private Timmy.Week.t = {
  1. year : int;
  2. n : int;
}

A week of a year.

Per ISO 8601 week date system, a week is attributed to the year its Thursday is in.

Construction

val make : year:int -> int -> (Timmy.Week.t, string) Result.t

make ~year n is { n; year } if it represents a valid week or a relevant error message otherwise.

Time manipulation

days week is the sequence of dates in week in chronological order.

day week weekday is the weekday of week.

Time conversions

val to_date : Timmy.Week.t -> Timmy.Date.t

to_date week is the first day (Monday) of week

val of_date : Timmy.Date.t -> Timmy.Week.t

of_date date is the week that includes date

Comparison

include Base.Comparable.S with type t := Timmy.Week.t
include Base.Comparisons.S with type t := Timmy.Week.t
val equal : Timmy.Week.t -> Timmy.Week.t -> bool
val compare : Timmy.Week.t -> Timmy.Week.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 ascending : Timmy.Week.t -> Timmy.Week.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 : Timmy.Week.t -> Timmy.Week.t -> int
val between : Timmy.Week.t -> low:Timmy.Week.t -> high:Timmy.Week.t -> bool

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

val clamp_exn : Timmy.Week.t -> min:Timmy.Week.t -> max:Timmy.Week.t -> Timmy.Week.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).

Operators

module O = Timmy.Week.O

Convenience module to only pull operators.

include module type of O

Convenience module to only pull operators.

Convenience module to only pull operators.

Convenience module to only pull operators.

Convenience module to only pull operators.

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

time + span is the time point span after time.

Scalar conversions

Pretty-print

pp f week prints week to f in YYYY-NN format, eg. 2021-02.

String

val to_string : Timmy.Week.t -> string

to_string week is the YYYY-WW representation of week, eg. 2022-03.

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

of_string s is the week represented by s as yielded by to_string or a relevant error message if it is invalid.

OCaml

Innovation. Community. Security.