Date_sig.S.Period

# Module Date_sig.S.Period

    module Period: sig .. end

A period is the number of days between two dates.

### Arithmetic operations

    type +[< Date_sig.S.field ] p

    include Period.S

### Constructors

    val make : int -> int -> int -> Date_sig.S.t

`make year month day` makes a period of the specified length.

    val lmake : ?year:int -> ?month:int -> ?day:int -> unit -> Date_sig.S.t

Labelled version of `make`. The default value of each argument is `0`.

    val year : int -> [< Date_sig.S.field > `Year ] period

`year n` makes a period of `n` years.

    val month : int -> [< Date_sig.S.field > `Month `Year ] period

`month n` makes a period of `n` months.

    val week : int -> [< Date_sig.S.field > `Day `Week ] period

`week n` makes a period of `n` weeks.

    val day : int -> [< Date_sig.S.field > `Day `Week ] period

`day n` makes a period of `n` days.

### Getters

    exception Not_computable

Since 1.04

    val nb_days : [< Date_sig.S.field ] period -> int

Deprecated.since 2.02: use `Date_sig.S.Period.safe_nb_days` instead
Number of days in a period.
Since 1.04
Raises `Not_computable` if the number of days is not computable.
Examples:

- `nb_days (year 1)` raises `Not_computable` because a year is not a constant number of days.
- `nb_days (day 6)` returns `6`

    val safe_nb_days : [< `Day | `Week ] period -> int

Equivalent to `Date_sig.S.Period.nb_days` but never raises any exception.
Since 2.02

    val ymd : [< Date_sig.S.field ] period -> int * int * int

Number of years, months and days in a period.
Since 1.09.0
Example: `ymd (make 1 2 3)` returns `1, 2, 3`.