formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LLL');
};
Il affiche: "28 février 2013 09:24"
Mais je voudrais supprimer le temps à la fin. Comment puis je faire ça?
J'utilise Moment.js .
Désolé de vous mettre si tard, mais si vous voulez supprimer la partie temps d'un moment () plutôt que formater, le code est le suivant:
.startOf('day')
format('LL')
Selon ce que vous essayez de faire, format('LL')
pourrait faire l'affaire. Cela produit quelque chose comme ceci:
Moment().format('LL'); // => April 29, 2016
La manière correcte serait de spécifier l'entrée selon vos besoins, ce qui vous donnera plus de flexibilité.
La présente définition comprend les éléments suivants
LTS : 'h:mm:ss A',
LT : 'h:mm A',
L : 'MM/DD/YYYY',
LL : 'MMMM D, YYYY',
LLL : 'MMMM D, YYYY h:mm A',
LLLL : 'dddd, MMMM D, YYYY h:mm A'
Vous pouvez utiliser n'importe lequel de ces éléments ou modifier l'entrée passée dans moment (). Format () . Par exemple, dans votre cas, vous pouvez passer moment.utc(dateTime).format('MMMM D, YYYY')
.
formatCalendarDate = function (dateTime) {
return moment.utc(dateTime).format('LL')
}
Avec les nouvelles versions de moment.js, vous pouvez également le faire:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
Vous pouvez utiliser ce constructeur
moment({h:0, m:0, s:0, ms:0})
http://momentjs.com/docs/#/parsing/object/
console.log( moment().format('YYYY-MM-DD HH:mm:ss') )
console.log( moment({h:0, m:0, s:0, ms:0}).format('YYYY-MM-DD HH:mm:ss') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
Chaque fois que j'utilise la bibliothèque moment.js
, je spécifie le format souhaité de la manière suivante:
moment(<your Date goes here>).format("DD-MMM-YYYY")
ou
moment(<your Date goes here>).format("DD/MMM/YYYY")
... etc J'espère que vous avez l'idée
Dans la fonction de formatage, vous mettez le format souhaité. L’exemple ci-dessus supprimera tous les éléments indésirables de la date tels que les minutes et les secondes.
Essaye ça:
moment.format().split("T")[0]
Pour les gens comme moi, je veux le format de date long (LLLL
) mais sans l'heure de la journée, il existe un problème GitHub pour cela: https://github.com/moment/moment/issues/2505 . Pour l'instant, il existe une solution de contournement:
var localeData = moment.localeData( moment.locale() ),
llll = localeData.longDateFormat( 'llll' ),
lll = localeData.longDateFormat( 'lll' ),
ll = localeData.longDateFormat( 'll' ),
longDateFormat = llll.replace( lll.replace( ll, '' ), '' );
var formattedDate = myMoment.format(longDateFormat);