web-dev-qa-db-fra.com

Comment puis-je enlever l'heure de la date avec Moment.js?

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 .

190
Obsivus

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')

Ref: http://momentjs.com/docs/#/manipulating/start-of/

473
Graham Charles

Utilisez 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
31
Joshua Pinter

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').

12
Sahil Jain
formatCalendarDate = function (dateTime) {
    return moment.utc(dateTime).format('LL')
}
8
AmGates

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()
});

Voir: http://momentjs.com/docs/#/parsing/object/ .

4
Torben Rahbek Koch

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>

2
EquaPro

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.

1

Essaye ça: 

moment.format().split("T")[0]
1
Keith Blanchard

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);
0
AJ Richardson