Convert Unix Time

This site helps you convert Unix timestamp (like 1589208027) to a human readable format like MM/DD/YYYY and vice versa. A Unix timestamp is the number of seconds that have elapsed since January 1, 1970 00:00:00 UTC.

Convert timestamp to date:

Please enter the timestamp in SECONDS.

Or convert date to timestamp (UTC):

/ /    : :
Example: 08/23/1987 23:12:34 UTC

Current Timestamp: 1603991961

Converted to date: Oct-29-2020 17:19:21 UTC

Unix timestamp is the way your computer is calculating time regardless of the timezone you're currently in. timestamp represents the number of seconds elapsed since the Unix epoch, not counting leap seconds.

Unix epoch starts at 00:00:00 UTC on 1 January 1970. It is used across all operating systems and various file formats. For example, timestamp with value 86400 (one day in seconds) represents 00:00:00 UTC on 2 January 1970.

How Does Unix Timestamp Work?

Most commonly, Unix Timestamp is represented as a string of numbers. Because of this, Unix timestamps are easy to store and parse. Since they represent the number of seconds that are passed since the Unix epoch, they are ambiguous of timezones. For example, if the current Unix timestamp is 1589887192, it will be the same for New York and Berlin even though they are in different timezones. But how do you see the correct time on your computer? It has internally a Unix time converter that can convert from Unix timestamp for other date formats.

The first edition Unix Programmer's Manual from 1971 defines the Unix timestamp as "the time since 00:00:00, 1 January 1971, measured in sixtieths of a second". Later on, it would be redefined to use seconds instead of sixtieths of a second. Why? Due to the nature of 32-bit integers, with the sixtieths of a second, you could represent only around 2.5 years with Unix timestamp before it overflows and starts from the beginning. With seconds, you can represent 136 years. Since Unix timestamp is represented with signed integers (can have negative values), you can calculate up to 68 years before the Unix epoch.

Unix timestamp is a great format for saving time data but not so much for reading it as a human. To make timestamp human friendly, you can use one of the many online Unix time converters. All Unix-based systems come with a default Unix time converter command called "date" ($date --date '@1589989232').

Limitations of Unix Timestamp

  • The first one and probably most notorious one is that Unix Timestamps are limited and will end in 2038 (also known as the Year 2038 problem). The timestamp is represented by a 32-bit integer. This ranges anywhere from -2,147,483,647 to 2,147,483,647. This corresponds to 03:14:07 UTC on 19 January 2038. After this, every Unix Timestamp will go back to -2,147,483,647 or 20:45:52 , 13 December 1901.
  • Another problem for Unix timestamp is that it doesn't take leap seconds into account. Unix timestamp assumes that each day is exactly 86400 seconds long. This, unfortunately, is not true since 1972, UTC added the concept of leap seconds to synchronize Universal Time and International Atomic Time.
  • The minimum value that the Unix timestamp represents is one second. You can't use Unix timestamp if you need fractional parts of a second.
  • Unix timestamp falls a bit short when you are building highly accurate distributed systems. It's very difficult to synchronize systems. In these cases, Network Time Protocol (NTP) is widely used.