Dino Maria
Dino Maria

Reputation: 11

How to get dates array between two date time

I have a following date fields

{ tripScheduleStartDate: '2018-12-05T18:30:00.000Z',
  tripScheduleEndDate: '2018-12-07T18:30:00.000Z',
}

How can i get datetime array from start to end, something like this

[ { date: '2018-12-05T18:30:00.000Z' }, { date: '2018-12-06T18:30:00.000Z' },{ date: '2018-12-07T18:30:00.000Z' } ]

Upvotes: 0

Views: 63

Answers (3)

Aji
Aji

Reputation: 474

This may help you

Date.prototype.addDays = function(days) {
        var date = new Date(this.valueOf());
        date.setDate(date.getDate() + days);
        return date;
    }

    function gettheDates(sDate, eDate) {
        var dateArray = new Array();
        var ctDate = sDate;
        while (ctDate <= eDate) {
            dateArray.push(new Date (ctDate ));
            ctDate = ctDate .addDays(1);
        }
            return dateArray;
    }

Upvotes: 0

Dan
Dan

Reputation: 8794

You could use eachDay from date-fns.

{ 
  tripScheduleStartDate: '2018-12-05T18:30:00.000Z',
  tripScheduleEndDate: '2018-12-07T18:30:00.000Z',
}

Import: import eachDay from 'date-fns/each_day'

Usage: eachDay(tripScheduleStartDate, tripScheduleEndDate)

Upvotes: 0

Max Alexander Hanna
Max Alexander Hanna

Reputation: 3871

PSEUDO-CODE

Time start = x;
Time end = y
tmpTime = x;
timeArray = [];
While (tmpTime < y) {
timeArray.Add(tmpTime)
tmpTime = tmpTime.AddDays(1);
}

Upvotes: 1

Related Questions