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

.. rst-class:: right

**protocol**

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

Date protocol.

| **Availability:** 
|    ``logtalk_load(dates(loader))``

| **Author:** Paulo Moura
| **Version:** 1:1:0
| **Date:** 2005-03-17

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


| **Dependencies:**
|   (none)


| **Remarks:**
|    (none)

| **Inherited public predicates:**
|    (none)

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

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


------------

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


------------

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


------------

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


------------

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


------------

.. 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 predicates
--------------------

(none)

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

(none)

Operators
---------

(none)

.. seealso::

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

