.. index:: datep
.. _datep/0:

**protocol**

``datep``
=========

Date protocol.

| **Author:** Paulo Moura
| **Version:** 1.1
| **Date:** 2005/3/17

| **Compilation flags:**
|    ``static``


(no dependencies on other entities)


Public interface
----------------

.. raw:: html

   <div id="today/3"> </div>

.. index:: today/3
.. _datep/0::today/3:

``today/3``
^^^^^^^^^^^

Returns current date.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``today(Year,Month,Day)``
| **Mode and number of proofs:**
|    ``today(-integer,-integer,-integer)`` - ``one``


.. raw:: html

   <div id="leap_year/1"> </div>

.. index:: leap_year/1
.. _datep/0::leap_year/1:

``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``


.. raw:: html

   <div id="name_of_day/3"> </div>

.. index:: name_of_day/3
.. _datep/0::name_of_day/3:

``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``


.. raw:: html

   <div id="name_of_month/3"> </div>

.. index:: name_of_month/3
.. _datep/0::name_of_month/3:

``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``


.. raw:: html

   <div id="days_in_month/3"> </div>

.. index:: days_in_month/3
.. _datep/0::days_in_month/3:

``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``


.. raw:: html

   <div id="valid/3"> </div>

.. index:: valid/3
.. _datep/0::valid/3:

``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 interface
-------------------

(none)

Private predicates
------------------

(none)

Operators
---------

(none)

Remarks
-------

(none)

.. seealso::

   :ref:`date <date/0>`, :ref:`timep <timep/0>`

