momentjs offre-t-il une option permettant de régler l'heure avec une heure donnée?
var date = "2017-03-13";
var time = "18:00";
var timeAndDate = moment(date).startOf(time);
console.log(timeAndDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
Moment.js ne fournit pas un moyen de définir l'heure d'un moment existant à travers une chaîne. Pourquoi ne pas simplement concaténer les deux:
var date = "2017-03-13";
var time = "18:00";
var timeAndDate = moment(date + ' ' + time);
console.log(timeAndDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
Alternativement, vous pouvez utiliser deux objets Moment et utiliser les getters et les setters. Bien que ce soit une option beaucoup plus détaillée, elle pourrait être utile si vous ne pouvez pas utiliser la concaténation:
let dateStr = '2017-03-13',
timeStr = '18:00',
date = moment(dateStr),
time = moment(timeStr, 'HH:mm');
date.set({
hour: time.get('hour'),
minute: time.get('minute'),
second: time.get('second')
});
console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
Juste au cas où quelqu'un se demanderait comment régler l'heure sur un Date Object, voici comment je l'ai fait:
const dateObj = new Date();
const dateStr = dateObj.toISOString().split('T').shift();
const timeStr = '03:45';
const timeAndDate = moment(dateStr + ' ' + timeStr).toDate();