とすると、開始時刻と終了時刻があります。開始時刻と終了時刻の間の時間を表示する方法
考える例:
var startTime = '12:30 PM';
var endTime = '03:00 AM';
は今、私はendTimeは5分間隔、3時間の追加の時間のstartTimeから、マイナス1時間でその範囲の間の時間を表示したいです。だから、与えられた時間帯に基づいて、試料の結果は次のようになります。表示する
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
初めて03:30 PM
12:30 PM + 3 hours = 03:30 PM
ためだろうと私は「
03:00 AM - 1 hour = 02:00 AM
ので、表示するための最後の時間が02:00 AM
になりますmoment.jsを使用しています。ここに私のコードは次のとおりです。
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;
}
私の問題は、与えられた時間
var startTime = '12:30 PM';
var endTime = '03:00 AM';
が動作しませんならば、ということです。与えられた時間がある場合にのみ動作します
var startTime2 = '12:30 PM';
var endTime2 = '05:00 PM';
私はこの問題がPM-AM期間のためだと思います。それをどうすれば解決できますか?助けてください。
をあなたはまさにありえない作業のコードスニペットを投稿してくださいことはできますか? – void
問題は、最初の終了時刻に1日追加する必要があるということです。:) endがstartよりも小さい場合、ローカルvarに1日を追加する必要があります。 – boly38
startTimeが「05:00 PM」でendTimeが「04:00 PM」の場合はどうなりますか?エンドタイムがスタートタイムよりも小さい場合は、それは翌日であると仮定することができますか? – void