Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
167
rated 0 times [  169] [ 2]  / answers: 1 / hits: 5881  / 11 Years ago, wed, january 29, 2014, 12:00:00

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?


More From » jquery

 Answers
27

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'));

[#48234] Wednesday, January 29, 2014, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
elishaannac

Total Points: 28
Total Questions: 97
Total Answers: 101

Location: Samoa
Member since Mon, Nov 8, 2021
3 Years ago
elishaannac questions
Sun, Dec 5, 21, 00:00, 3 Years ago
Mon, Jun 14, 21, 00:00, 3 Years ago
Mon, Jul 22, 19, 00:00, 5 Years ago
Mon, Jul 8, 19, 00:00, 5 Years ago
;