--- obj: concept wiki: https://en.wikipedia.org/wiki/Unix_time rev: 2024-02-08 --- # UNIX Timestamp A Unix timestamp is a way to represent a point in time, defined as the number of seconds that have elapsed since the Unix epoch. The Unix epoch is defined as 00:00:00 UTC on January 1, 1970. ## Usage Unix timestamps are commonly used in computing systems to record and calculate time-based events. They are particularly useful for tasks such as: - [Logging](../dev/Log.md) events: Recording the time when an event occurs. - Date arithmetic: Calculating time differences between two Unix timestamps. - Scheduling tasks: Determining when a task should be executed based on a Unix timestamp. ## Conversion Unix timestamps can be converted to human-readable date and time formats using various programming languages and tools. For example, in Unix-based systems, the `date` command can be used to convert a Unix timestamp to a formatted date: ```shell date -d @ ``` Replace `` with the Unix timestamp you want to convert. ## Examples - The Unix timestamp `0` represents the Unix epoch, which is January 1, 1970, at 00:00:00 UTC. - The current Unix timestamp can be obtained using various programming languages and tools. For example, in [Python](../dev/programming/languages/Python.md): ```python import time current_timestamp = int(time.time()) print(current_timestamp) ``` ## Considerations - **Leap seconds**: Unix timestamps do not account for leap seconds, which are occasionally added to Coordinated Universal Time (UTC) to keep it in sync with the Earth's rotation. As a result, there may be slight discrepancies between Unix timestamps and true time. - **Range limitations**: The range of Unix timestamps is limited by the number of bits used to represent them. For a 32-bit signed integer, the range is approximately from 1901-12-13T20:45:52 UTC to 2038-01-19T03:14:07 UTC. However, many systems now use 64-bit integers, which extend the range significantly.