Skip to content

Convert Unix Time to Date with JavaScript

Often when working with dates, you’ll get a date that’s in the form of a Unix Time stamp. Such a time stamp looks like this:

1610796674

This timestamp represents the number of milliseconds that have elapsed since January 1, 1970 (the Unix epoch). This is not usually what you want but you can convert it to a readable US-based format using the following code:

function convertUnixTime(unix) {
  let a = new Date(unix * 1000),
      year = a.getFullYear(),
      months = ['January','February','March','April','May','June','July','August','September','October','November','December'],
      month = months[a.getMonth()],
      date = a.getDate(),
      hour = a.getHours(),
      min = a.getMinutes() < 10 ? '0' + a.getMinutes() : a.getMinutes(),
      sec = a.getSeconds() < 10 ? '0' + a.getSeconds() : a.getSeconds();
  return `${month} ${date}, ${year}, ${hour}:${min}:${sec}`;
}

// Pass in a UNIX timestamp (milliseconds since January 1, 1970)
console.log(convertUnixTime(1610796674)); // "January 16, 2021, 6:31:14"
Code language: JavaScript (javascript)

The final line in the function is what displays the format “January 1, 1970”. If you’d like to use a U.K. or European-based format, you can change the order of the items to display it as “1 January, 1970” or similar. You can also abbreviate the months as “Jan”, “Feb”, etc. by changing the months string. If you don’t want the hour, minutes, and seconds, simply remove them from the return statement.

The interactive CodePen demo below shows this in action:

Note: To the best of our knowledge, the information above and the snippet are accurate and up to date. However, in case you notice something wrong, please report snippet or leave a comment below.
View all Snippets
Louis Lazaris
Share:

0 Comments
Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!