Date Formats

Date Formats#

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)

  • today (midnight)

  • yesterday (midnight)

  • now - right now

Lastly, there is Mercurial’s internal format:

  • 1165411109 0 (Wed Dec 6 13:18:29 2006 UTC)

This is the internal representation format for dates. The first number is the number of seconds since the epoch (1970-01-01 00:00 UTC). The second 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:

  • <DATE - at or before a given date/time

  • >DATE - on or after a given date/time

  • DATE to DATE - a date range, inclusive

  • -DAYS - within a given number of days from today