Timestamp

A timestamp is a sequence of characters or encoded information identifying when a certain event occurred, usually giving date and time of day, sometimes accurate to a small fraction of a second. Timestamps do not have to be based on some absolute notion of time, however. They can have any epoch, can be relative to any arbitrary time, such as the power-on time of a system, or to some arbitrary time in the past.

A distinction is sometimes made between the terms datestamp, timestamp and date-timestamp:
 * Datestamp or DS: A date, for example 2025-05-25 according to ISO 8601
 * Timestamp or TS: A time of day, for example 16:13:43 using 24-hour clock
 * Date-timestamp or DTS: Date and time, for example 2025-05-25, 16:13:43

History
The term "timestamp" derives from rubber stamps used in offices to stamp the current date, and sometimes time, in ink on paper documents, to record when the document was received. Common examples of this type of timestamp are a postmark on a letter or the "in" and "out" times on a time card.

With the advent of digital data systems, the term has expanded to refer to digital date and time information attached to digital data. For example, computer files contain timestamps that tell when the file was last modified, and digital cameras add timestamps to the pictures they take, recording the date and time the picture was taken.

Digital timestamps
This data is usually presented in a consistent format, allowing for easy comparison of two different records and tracking progress over time; the practice of recording timestamps in a consistent manner along with the actual data is called timestamping.

Timestamps are typically used for logging events or in a sequence of events (SOE), in which case each event in the log or SOE is marked with a timestamp.

Practically all computer file systems store one or more timestamps in the per-file metadata. In particular, most modern operating systems support the POSIX stat (system call), so each file has three timestamps associated with it: time of last access (atime: ), time of last modification (mtime: ), and time of last status change (ctime: ).

Some file archivers and some version control software, when they copy a file from some remote computer to the local computer, adjust the timestamps of the local file to show the date/time in the past when that file was created or modified on that remote computer, rather than the date/time when that file was copied to the local computer.

Timestamps are often found to be dirty in many cases. Without cleaning up inaccurate timestamps, time-related applications such as provenance analysis or pattern queries are not reliable. To evaluate the correctness of timestamps, temporal constraints can be applied, declaring distance limits between timestamps.

Standardization
ISO 8601 standardizes the representation of dates and times. These standard representations are often used to construct timestamp values.

Examples
Examples of date-timestamps:
 * Thurs 12/31/2009 1:35 p.m. (mixed-endian date, big-endian 12-hour clock)
 * Thurs 31.12.2009 13:35 (same time as the above, different format with little-endian date and big-endian 24-hour clock)
 * 2005-10-30 T 10:45 UTC (international ISO-time order (big-endian) with time zone)
 * 2007-11-09 T 11:20 UTC (same format as the above, hence easy to compare)
 * Sat Jul 23 02:16:57 2005
 * 2009-10-31T01:48:52Z (ISO 8601)
 * 2009-10-31 01:48:52Z ("internet time" per RFC 3339, based on ISO 8601)
 * 1256953732 (Unix time, equivalent to 2009-10-31 T 01:48:52Z)
 * (1969-07-21 T 02:56 UTC) –
 * 07:38, 11 December 2012 (UTC)
 * 1985-102 T 10:15 UTC (year 1985, day number 102, i.e. 1985 April 12)
 * 1985-W15-5 T 10:15 UTC (year 1985, week number 15, weekday 5 = 1985 April 12)
 * 20180203073000 (Used in Wayback Machine memento URLs, equals 3 February 2018 7:30:00)

Examples of datestamps:
 * 2025-05-25, international representation of 2025 May 25

Examples of timestamps:
 * 17:30:23 (time of day in an afternoon)
 * 123478382 ns (the number of nanoseconds since boot)
 * 17 minutes (an arbitrary minute counter which increments every 1 minute since its last manual "reset" event)

Sequence number:
 * 21 (a unitless counter which indicates only the relative order of events; this is event #21, which comes after 20 and before 22)