Disons que j'ai un objet moment existant:
var m = moment(); // this will default to now
et voulez le mettre à jour avec un nouvel objet Date, mais SANS REMPLACER tout l'objet. Par exemple. Ce n'est pas une solution acceptable pour moi:
m = moment(new Date());
La seule solution que je puisse trouver dans ces documents est d'utiliser la méthode set:
m.set({'year': 2013, 'month': 3});
mais de cette façon, nous aurons besoin de scinder notre objet Date existant en Paix comme ceci:
var myDate = new Date();
var newDate = moment(myDate);
var splittedDate = {
year: newDate.get('year'),
month: newDate.get('month'),
date: newDate.get('date'),
hour: newDate.get('hour'),
minute: newDate.get('minute'),
second: newDate.get('second'),
millisecond: newDate.get('millisecond')
};
m.set(splittedDate);
Mais cela me semble moche. Peut-être que quelqu'un peut suggérer une meilleure solution?
Cela peut être un peu en retard, mais vous pouvez transformer votre nouvelle date en un objet (newDate.toObject()
) et la transmettre à la méthode set
de votre objet moment précédent:
var m = moment(); // Initial moment object
// Create the new date
var myDate = new Date();
var newDate = moment(myDate);
// Inject it into the initial moment object
m.set(newDate.toObject());
Utilisez simplement votre objet Date
en tant que paramètre:
var d = new Date();
var m = moment(d);
Et voila , votre objet moment est défini sur la même heure que votre objet Date.