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.
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; // ...
A modern way to do this is to use momentjs, both usable in node and in the browser, super useful and simple to use. For the current problem I solved it like this in node after following all the docs requirements :
var moment = require('moment'); var fomatted_date = moment(photo.date_published).format('YYYY-DD-MM');
photo.date_published directly coming from mongoose.