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.
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.
In modern times usage of 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.
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.
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:
ls -l), 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.
Examples of timestamps:
- Thurs 01-01-2009 6:00
- 2005-10-30 T 10:45 UTC
- 2007-11-09 T 11:20 UTC
- Sat Jul 23 02:16:57 2005
- 2009-10-31T01:48:52Z (ISO 8601)
- 1256953732 (Unix time, equivalent to 2009-10-31T01:48:52Z)
- (1969-07-21 T 02:56 UTC) –
- 07:38, 11 December 2012 (UTC)
- 1985-102 T 10:15 UTC (year 1985, day 102 = 12 April 1985)
- 1985-W15-5 T 10:15 UTC (year 1985, week 15, day 5 = 12 April 1985)
- 20180203073000[a] (3 February 2018 7:30:00)
- 123478382 ns (the nanoseconds since boot)
- 17 minutes (an arbitrary minute counter which increments every 1 minute since its last manual "reset" event)
- 21 (a unitless counter which indicates only the relative order of events; this is event #21, which comes after 20 and before 22)
- Claudia Maria Bauzer Medeiros (19 September 2009). ADVANCED GEOGRAPHIC INFORMATION SYSTEMS -Volume I. EOLSS Publications. p. 59. ISBN 978-1-905839-91-9.
- Song, Shaoxu; Huang, Ruihong; Cao, Yue; Wang, Jianmin (May 2021). "Cleaning timestamps with temporal constraints". The VLDB Journal. 30 (3): 425–446. doi:10.1007/s00778-020-00641-6. ISSN 1066-8888.
- "ISO 8601:2004(E)" (PDF). ISO. 1 December 2004. Retrieved 7 March 2010.
3.5 Expansion … By mutual agreement of the partners in information interchange, it is permitted to expand the component identifying the calendar year, which is otherwise limited to four digits. This enables reference to dates and times in calendar years outside the range supported by complete representations, i.e. before the start of the year  or after the end of the year .