We stored a date using unix timestamp in MongoDB, how do I get the date when I do the query? Is there a way to display timestamp in ISODate format?
A unixtime value represents seconds since the epoch (Jan 1, 1970).
A JavaScript Date() represents milliseconds since the epoch.
In MongoDB, ISODate() is a convenience wrapper for Date()
that allows you to create dates from ISO strings in the mongo
shell. If you use new Date()
in the shell, it will return an ISODate()
.
To convert between a unixtime
and an ISODate() you can multiply your unix timestamps by 1000 and pass this value to the new Date()
constructor.
mongo
shell:> db.mydata.insert({
unixtime: 1362143511
})
> var doc = db.mydata.findOne();
// convert unixtime seconds to milliseconds and create JS date
> var date = new Date(doc.unixtime * 1000);
> date
ISODate("2013-03-01T13:11:51Z")