Function to convert timestamp to human date in javascript

Javascriptnode.jsDateExpressTimestamp

Javascript Problem Overview


How to convert this timestamp 1382086394000 to 2013-10-18 08:53:14 using a function in javascript? Currently I have this function:

function cleanDate(d) {return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1'));}

Javascript Solutions


Solution 1 - Javascript

The value 1382086394000 is probably a time value, which is the number of milliseconds since 1970-01-01T00:00:00Z. You can use it to create an ECMAScript Date object using the Date constructor:

var d = new Date(1382086394000);

How you convert that into something readable is up to you. Simply sending it to output should call the internal (and entirely implementation dependent) toString method* that usually prints the equivalent system time in a human readable form, e.g.

Fri Oct 18 2013 18:53:14 GMT+1000 (EST) 

In ES5 there are some other built-in formatting options:

and so on. Note that most are implementation dependent and will be different in different browsers. If you want the same format across all browsers, you'll need to format the date yourself, e.g.:

alert(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear());

* The format of Date.prototype.toString has been standardised in ECMAScript 2018. It might be a while before it's ubiquitous across all implementations, but at least the more common browsers support it now.

Solution 2 - Javascript

This works fine. Checked in chrome browser:

var theDate = new Date(timeStamp_value * 1000);
dateString = theDate.toGMTString();
alert(dateString );

Solution 3 - Javascript

why not simply

new Date (timestamp);

A date is a date, the formatting of it is a different matter.

Solution 4 - Javascript

Moment.js can convert unix timestamps into any custom format

In this case : var time = moment(1382086394000).format("DD-MM-YYYY h:mm:ss");

will print 18-10-2013 11:53:14;

Here's a plunker that demonstrates this.

Solution 5 - Javascript

Here are the simple ways to every date format confusions:

for current date:

var current_date=new Date();

to get the Timestamp of current date:

var timestamp=new Date().getTime();

to convert a particular Date into Timestamp:

var timestamp_formation=new Date('mm/dd/yyyy').getTime();

to convert timestamp into Date:

    var timestamp=new Date('02/10/2016').getTime();
	var todate=new Date(timestamp).getDate();
	var tomonth=new Date(timestamp).getMonth()+1;
	var toyear=new Date(timestamp).getFullYear();
	var original_date=tomonth+'/'+todate+'/'+toyear;

  OUTPUT:
 02/10/2016




	

Solution 6 - Javascript

we need to create new function using JavaScript.

function unixTime(unixtime) {
	
	var u = new Date(unixtime*1000);

      return u.getUTCFullYear() +
        '-' + ('0' + u.getUTCMonth()).slice(-2) +
        '-' + ('0' + u.getUTCDate()).slice(-2) + 
        ' ' + ('0' + u.getUTCHours()).slice(-2) +
        ':' + ('0' + u.getUTCMinutes()).slice(-2) +
        ':' + ('0' + u.getUTCSeconds()).slice(-2) +
        '.' + (u.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) 
    };

console.log(unixTime(1370001284))

2016-04-30 08:36:26.000

Solution 7 - Javascript

This is what I did for the Instagram API. converted timestamp with date method by multiplying by 1000. and then added all entity individually like (year, months, etc)

created the custom month list name and mapped it with getMonth() method which returns the index of the month.

convertStampDate(unixtimestamp){


// Months array
var months_arr = ['January','February','March','April','May','June','July','August','September','October','November','December'];

// Convert timestamp to milliseconds
var date = new Date(unixtimestamp*1000);

// Year
var year = date.getFullYear();

// Month
var month = months_arr[date.getMonth()];

// Day
var day = date.getDate();

// Hours
var hours = date.getHours();

// Minutes
var minutes = "0" + date.getMinutes();

// Seconds
var seconds = "0" + date.getSeconds();

// Display date time in MM-dd-yyyy h:m:s format
var fulldate = month+' '+day+'-'+year+' '+hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);

// final date
var convdataTime = month+' '+day;
return convdataTime;
}

Call with stamp argument convertStampDate('1382086394000')

and that's it.

Solution 8 - Javascript

Use .toLocaleString:

// undefined uses default locale console.log(new Date().toLocaleString(undefined, {dateStyle: 'short'}));

Or custom method in case you don't want to use the toLocaleString for some reason:

formatDate is the function you can call it and pass the date you want to format to dd/mm/yyyy

var unformatedDate = new Date("2017-08-10 18:30:00");

$("#hello").append(formatDate(unformatedDate));
function formatDate(nowDate) {
	return nowDate.getDate() +"/"+ (nowDate.getMonth() + 1) + '/'+ nowDate.getFullYear();
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="hello">


</div>

Solution 9 - Javascript

My ES6 variant produces a string like this 2020-04-05_16:39:45.85725. Feel free to modify the return statement to get the format that you need:

const getDateStringServ = timestamp => {
  
  const plus0 = num => `0${num.toString()}`.slice(-2)

  const d = new Date(timestamp)

  const year = d.getFullYear()
  const monthTmp = d.getMonth() + 1
  const month = plus0(monthTmp)
  const date = plus0(d.getDate())
  const hour = plus0(d.getHours())
  const minute = plus0(d.getMinutes())
  const second = plus0(d.getSeconds())
  const rest = timestamp.toString().slice(-5)

  return `${year}-${month}-${date}_${hour}:${minute}:${second}.${rest}`
}

Solution 10 - Javascript

There is a simple way to convert to a more readable form

new Date().toLocaleString();
new Date(1630734254000).toLocaleString();

Outputs in this format => 9/4/2021, 11:14:14 AM

Solution 11 - Javascript

new Date(timestamp).toString().substring(4, 15)

1631685556789 ==> Sep 15 2021

Solution 12 - Javascript

To calculate date in timestamp from the given date

//To get the timestamp date from normal date: In format - 1560105000000

//input date can be in format : "2019-06-09T18:30:00.000Z"

this.calculateDateInTimestamp = function (inputDate) {
    var date = new Date(inputDate);
    return date.getTime();
}

output : 1560018600000

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionWilly MulartoView Question on Stackoverflow
Solution 1 - JavascriptRobGView Answer on Stackoverflow
Solution 2 - JavascriptOptimus KrishView Answer on Stackoverflow
Solution 3 - JavascriptScary WombatView Answer on Stackoverflow
Solution 4 - JavascriptsvarogView Answer on Stackoverflow
Solution 5 - JavascriptTrojanView Answer on Stackoverflow
Solution 6 - JavascriptKARTHIKEYAN.AView Answer on Stackoverflow
Solution 7 - JavascriptHidayt RahmanView Answer on Stackoverflow
Solution 8 - JavascriptBlack MambaView Answer on Stackoverflow
Solution 9 - JavascriptRomanView Answer on Stackoverflow
Solution 10 - JavascriptArshal_dView Answer on Stackoverflow
Solution 11 - JavascriptcmcodesView Answer on Stackoverflow
Solution 12 - JavascriptAtharView Answer on Stackoverflow