protocol

# `datep`

Date protocol.

Author: Paulo Moura
Version: 1.1
Date: 2005/3/17
Compilation flags:
`static`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

- Public predicates

  - `today/3`

  - `leap_year/1`

  - `name_of_day/3`

  - `name_of_month/3`

  - `days_in_month/3`

  - `valid/3`

- Protected predicates

- Private predicates

- Operators

## Public predicates

### `today/3`

Returns current date.

Compilation flags:
`static`
Template:
`today(Year,Month,Day)`
Mode and number of proofs:
`today(-integer,-integer,-integer)` - `one`

### `leap_year/1`

True if the argument is a leap year.

Compilation flags:
`static`
Template:
`leap_year(Year)`
Mode and number of proofs:
`leap_year(+integer)` - `zero_or_one`

### `name_of_day/3`

Name and short name of day.

Compilation flags:
`static`
Template:
`name_of_day(Index,Name,Short)`
Mode and number of proofs:
`name_of_day(?integer,?atom,?atom)` - `zero_or_more`

### `name_of_month/3`

Name and short name of month.

Compilation flags:
`static`
Template:
`name_of_month(Index,Name,Short)`
Mode and number of proofs:
`name_of_month(?integer,?atom,?atom)` - `zero_or_more`

### `days_in_month/3`

Number of days in a month.

Compilation flags:
`static`
Template:
`days_in_month(Month,Year,Days)`
Mode and number of proofs:
`days_in_month(?integer,+integer,?integer)` - `zero_or_more`

### `valid/3`

True if the arguments represent a valid date.

Compilation flags:
`static`
Template:
`valid(Year,Month,Day)`
Mode and number of proofs:
`valid(@integer,@integer,@integer)` - `zero_or_one`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)

See also

date, timep