Comment formater la date dans le modèle de météore

j'ai besoin d'afficher une date à partir de la base de données dans le format mm-jj-aaaa". Comme son enregistré au format ISO dans mongodb Comment puis-je le convertir dans le modèle ? Voici mon code.

       Template.templatename.vname = function () {      
        return Posts.find(); 
        }

et dans le modèle

{{#each vname}}
    {{ date }} 
{{/each}}

maintenant son affichage comme Tue Feb 04 2014 00:00:00 GMT+0530 (IST)

je dois le montrer comme mm-dd-yyyy

31
demandé sur I'm nidhin 2014-02-28 10:32:00

3 réponses

vous pouvez vouloir créer un helper global comme:

Template.registerHelper('formatDate', function(date) {
  return moment(date).format('MM-DD-YYYY');
});

, Alors vous pouvez l'utiliser comme:

{{#each vname}}
  {{formatDate date}}
{{/each}}

Cette solution dépend de moment qui est une bibliothèque de manipulation de date pratique. Si vous préférez produire la chaîne sans utiliser le moment, il y a un certain nombre de réponses pour cela y compris celui-ci .

69
répondu David Weldon 2017-05-23 12:17:56

instant est un salue lib

meteor add momentjs:moment

utilisation moment helper

Template.home.helpers({
    momentFormate: function(time) {

        if ((moment().unix() - moment(time).unix()) < 3600) {
            return moment(time).fromNow();
        } else {
            return moment(time).format("YYYY-MM-DD HH:mm");
        }
    },

    })
6
répondu user5699596 2016-01-13 08:52:56

Voici une solution qui fonctionne dans Meteor sans aucune dépendance sur un autre paquet:

// global helper
Template.registerHelper('formatDate', function(date) {
    return monthNames[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();
});

ce sera retourner une chaîne de date formatée comme"décembre 11, 2015". Déplacez-vous autour de getMonth() , getDate() et getFullYear() pour votre format préféré. Pour plus d'options de formatage, consultez les autres méthodes de Date objet.

2
répondu Sawant 2015-12-12 07:19:15