Mam index.js:próbuje sformatować datę w szablonie jade
exports.index = function(req, res){
db.courses.find(function(err, currentCourses) {
res.render('index', {
currentCourses: currentCourses
});
});
};
I na moim jade Szablon:
tr
td #{currentCourses[0].start}
co jest data, sformatowane jako „Sun 29 wrz 2013 00:00:00 GMT + 0100 (BST) ".
Jak sformatować plik na "29 września 2013"?
Edit (po komentarzach Eda Hinchliffe za):
-function prettyDate(dateString){
-var d = date.getDate(dateString);
-var monthNames = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
-var m = monthNames[date.getMonth()];
-var y = date.getFullYear();
-return d+' '+m+' '+y;
-}
for course in currentCourses
tr
td #{prettyDate(course.start)}
Ah ok. Jeśli masz funkcję poza szablonem, w jaki sposób przekażesz ją? – babbaggeii
ma dokładnie tę samą funkcję (bez znaków "-' escape") i najpierw wywołaj ją na łańcuchu. Biorąc pod uwagę (zakładam), że masz ich wiele w szeregu obiektów, lepiej byłoby po prostu zachować je w szablonie jak wyżej, zamiast powtarzać cały obiekt, najpierw konwertując je wszystkie. –
Dzięki za to. Dodałem ten kod (zobacz moją edycję), a teraz dostaję następujący błąd:> 57 | -var d = date.getDate(); obiekt nie ma metody getDate. Jakieś pomysły? – babbaggeii