Censé être, j'ai l'heure de début et de fin.Comment puis-je afficher les heures entre le début et la fin
Compte tenu Exemple:
var startTime = '12:30 PM';
var endTime = '03:00 AM';
Maintenant, je veux afficher le temps entre cette plage avec 5 minutes d'intervalle, 3 heures de temps supplémentaire de startTime et moins 1 heure pour la fin de cycle. Ainsi, le résultat de l'échantillon en fonction de l'intervalle de temps donné sera:
03:30 PM
03:35 PM
03:40 PM
03:45 PM
03:50 PM
03:55 PM
04:00 PM
04:05 PM
....
....
02:00 AM
première fois à afficher sera 03:30 PM
parce 12:30 PM + 3 hours = 03:30 PM
Et la dernière fois pour afficher sera 02:00 AM
parce 03:00 AM - 1 hour = 02:00 AM
Je m en utilisant moment.js. Voici mon code:
var startTime = '12:30 PM';
var endTime = '03:00 AM';
var startTime2 = '12:30 PM';
var endTime2 = '05:00 PM';
console.log(intervals(startTime, endTime)); // this is not working
console.log(intervals(startTime2, endTime2)); // this is working
function intervals(start, end) {
var start = moment(start, 'hh:mm a').add(3, 'h');
var end = moment(end, 'hh:mm a').subtract(1, 'h');
var result = [];
var current = moment(start);
while (current <= end) {
result.push(current.format('hh:mm a'));
current.add(5, 'minutes');
}
return result;
}
Mon problème est que, si l'heure
var startTime = '12:30 PM';
var endTime = '03:00 AM';
ne fonctionnera pas. Cela ne fonctionne que si le temps donné sera
var startTime2 = '12:30 PM';
var endTime2 = '05:00 PM';
Je pense que le problème est dû aux périodes PM-AM. Comment pouvons-nous résoudre cela? S'il vous plaît aider.
Pouvez-vous s'il vous plaît poster un extrait de code de ce travail exactement isnt? – void
problème est que votre première heure de fin besoin d'avoir 1 jour supplémentaire :) de sorte que vous devez ajouter un jour à votre fin var locale si la fin est inférieure à commencer. – boly38
Que faire si startTime est '05:00 PM' et endTime est' 04:00 PM'. Pouvez-vous simplement faire l'hypothèse que si le temps de fin est plus petit que le début, alors c'est le jour suivant? – void