Sentry Answers>JavaScript>

Convert Unix timestamp to date and time in JavaScript

Convert Unix timestamp to date and time in JavaScript

David Y.

The Problem

I have a set of Unix timestamps that I would like to convert into human-readable dates and times. How can I do this in JavaScript?

The Solution

The Unix timestamp is an integer that represents times according to the number of seconds since midnight on the 1st of January, 1970. For example:

  • 20 seconds and 13 minutes past 1 am on the 10th of August 2023 can be written as 1691622800.
  • 12 seconds and 12 minutes past 12 pm on December 12, 2012 can be written as 1355307132.
  • 11 seconds and 11 minutes past 11 am on November 11, 1918 can be written as -1613832529.

To convert these into human-readable dates and times, we can use JavaScript’s Date object. This object’s constructor takes a value similar to a Unix timestamp, but in milliseconds rather than seconds. Therefore, to use a Unix timestamp, we must multiply it by 1000.

Click to Copy
const myUnixTimestamp = 1691622800; // start with a Unix timestamp const myDate = new Date(myUnixTimestamp * 1000); // convert timestamp to milliseconds and construct Date object console.log(myDate); // will print "Thu Aug 10 2023 01:13:20" followed by the local timezone on browser console

As shown above, printing out a Date object will show its date and time in a standard, human-readable format. Built-in methods are available for formatting it in ISO-standard format (a simplified version of ISO 8601) and according to the user’s locale (e.g. showing D-M-Y for European users and M-D-Y for American users).

Click to Copy
console.log(myDate.toISOString()); // will print "2023-08-10T01:13:20.000Z" console.log(myDate.toLocaleString()); // output will vary based on system locale settings

We can use other methods to output only the date or only the time components:

Click to Copy
console.log(myDate.toDateString()); // will print "Thu Aug 10 2023" console.log(myDate.toTimeString()); // will print "01:13:20" followed by the local timezone

Finally, we can also use this Date object to retrieve and output individual parts of the date or time using its instance methods.

Click to Copy
console.log(myDate.getFullYear()); // will print 2023 console.log(myDate.getMonth()); // will print 7 (August; January would be 0) console.log(myDate.getDate()); // will print 10 console.log(myDate.getHours()); // will print 1 console.log(myDate.getMinutes()); // will print 13 console.log(myDate.getSeconds()); // will print 20
  • ResourcesImprove Web Browser Performance - Find the JavaScript code causing slowdowns
  • SentryJavascript Error Monitoring & Tracing
  • ResourcesJavaScript Frontend Error Monitoring 101
  • Syntax.fmListen to the Syntax Podcast
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.