Some commands allow the user to specify a date, e.g.:

- backout, commit, import, tag: Specify the commit date.
- log, revert, update: Select revision(s) by date.

Many date formats are valid. Here are some examples:

- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)
- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)
- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)
- ``Dec 6`` (midnight)
- ``13:18`` (today assumed)
- ``3:39`` (3:39AM assumed)
- ``3:39pm`` (15:39)
- ``2006-12-06 13:18:29`` (ISO 8601 format)
- ``2006-12-6 13:18``
- ``2006-12-6``
- ``12-6``
- ``12/6``
- ``12/6/6`` (Dec 6 2006)

Lastly, there is Mercurial's internal format:

- ``1165432709 0`` (Wed Dec 6 13:18:29 2006 UTC)

This is the internal representation format for dates. unixtime is the
number of seconds since the epoch (1970-01-01 00:00 UTC). offset is
the offset of the local timezone, in seconds west of UTC (negative if
the timezone is east of UTC).

The log command also accepts date ranges:

- ``<{datetime}`` - at or before a given date/time
- ``>{datetime}`` - on or after a given date/time
- ``{datetime} to {datetime}`` - a date range, inclusive
- ``-{days}`` - within a given number of days of today
