How do I format dates from Mongoose in Node.js?


I’m trying to change the format of the dates I’m getting from my Mongo database. Currently they look like this:

Fri Sep 16 2011 19:05:17 GMT+0900 (JST)

I’ve tried calling .toString('yyyy-MM-dd') on them but nothing changes. I don't know if they're Date objects or just raw strings.

I’ve tried checking the Mongoose manual and googling a bunch, but not found anything yet.

Any ideas?

Problem courtesy of: Ben Humphreys


you have to create a Date object first:

var date = new Date(dateStr);  // dateStr you get from mongodb

var d = date.getDate();
var m = date.getMonth()+1;
// ...

Solution courtesy of: Philipp Kyeck

View additional discussion.