get month names between 2 dates

javascript, jquery

Solution

Mine is better: http://jsfiddle.net/kS73f/8/

var monthNames = [ "January", "February", "March", "April", "May", "June",
        "July", "August", "September", "October", "November", "December" ];

function diff(from, to) {
    var arr = [];
    var datFrom = new Date('1 ' + from);
    var datTo = new Date('1 ' + to);
    var fromYear =  datFrom.getFullYear();
    var toYear =  datTo.getFullYear();
    var diffYear = (12 * (toYear - fromYear)) + datTo.getMonth();

    for (var i = datFrom.getMonth(); i <= diffYear; i++) {
        arr.push(monthNames[i%12] + " " + Math.floor(fromYear+(i/12)));
    }        

    return arr;
}

console.log(diff('September 2013', 'March 2014'));

Problem

I have to two dates `from` and `to`. I want to get all of the month names between these two dates. Following is my code ``` var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; function diff(from, to) { var datFrom = new Date('1 ' + from); var datTo = new Date('1 ' + to); var arr = monthNames.slice(datFrom.getMonth(), datTo.getMonth() + 1); } ``` above code works for following inputs ``` diff('September 2013', 'December 2013'); ``` but it does not work for this ``` diff('September 2013', 'February 2014'); ``` How can I make it work?

Original source