2016-09-21 1 views
0

Каждый элемент, хранящийся в моей коллекции, имеет атрибут createdAt. Я хочу запросить дату в формате January 24, 2015. но когда я использую {{item.createdAt}}, я получаю дату в этом формате Thu Aug 11 2016 22:19:39 GMT+0800 (MYT).Как запросить дату в формате (DD/MM/YY)

Возможно ли получить только название месяца вместе с днем ​​и годом?

ответ

1

Я рекомендую использовать для этого momentjs. Определите универсальный помощник для него и предъявите иск в проекте. , например.

Template.registerHelper('dateFormat', function(context) { 
    if (window.moment) { 
     var f = "MM DD YY"; 
     return moment(context).format(f); //had to remove Date(context) 
    }else{ 
     return context; // moment plugin not available. return data as is. 
    }; 
}); 

При необходимости для форматирования даты, вызовите функцию в шаблоне using-
{{dateFormat item.createdAt}} и дата будет отформатирован.

Чтобы добавить момент пакет использовать meteor add momentjs:moment

+0

благодаря его работе, и я принял ваш ответ, но это возможно, вместо отображения месяца по его имени? вместо (08) я хочу отображать Aug :) –

+0

Просто измените MM на MMM. Он покажет Aug – Ankit

+0

спасибо вам за помощь –

0

вариант 1: контроль за тем, что входит в вашу коллекцию. при сохранении документа вы можете указать формат даты, а не просто использовать по умолчанию дату в ISO можно указать формат, такой как new Date("<YYYY-mm-dd>")

вариант 2: использование $ dateToString вернуть дату как отформатированную строку

db.collection.aggregate(
    [ 
    { 
     $project: { 
      yearMonthDay: { $dateToString: { format: "%Y-%m-%d", date: "$date" } } 
     } 
    } 
    ] 
) 

вы можете узнать больше о различных возможностях форматирования, доступных в - https://docs.mongodb.com/manual/reference/operator/aggregation/dateToString/

вариант 3: (если вы гавань указан язык программирования, который вы используете) , если я предполагаю, что вы используете Node.js, то вы можете прочитать ISO da te из mongodb as-is, а затем преобразовать его в определенный формат: dateObject.toLocaleDateString('en-US') где dataObject - это ваша переменная, которая хранит возвращенную дату из коллекции.

Смежные вопросы