DEV Community

Henrique Marques Fernandes
Henrique Marques Fernandes

Posted on Originally published at marquesfernandes.com on

Pegando os meses entre duas datas com Javascript

Recentemente precisei montar um projeto para baixar arquivos com nomes que seguiam um padrão mensal e para isso montei uma função dinâmica para facilitar. Deixe seu comentário caso você tenha encontrado/feito outra solução!

function dateRange(startDate, endDate) { var start = startDate.split('-'); var end = endDate.split('-'); var startYear = parseInt(start[0]); var endYear = parseInt(end[0]); var dates = []; for(var i = startYear; i \<= endYear; i++) { var endMonth = i != endYear ? 11 : parseInt(end[1]) - 1; var startMon = i === startYear ? parseInt(start[1])-1 : 0; for(var j = startMon; j \<= endMonth; j = j \> 12 ? j % 12 || 11 : j+1) { var month = j+1; var displayMonth = month \< 10 ? '0'+month : month; dates.push([i, displayMonth, '01'].join('-')); } } return dates; } const dates = dateRange('2017-01-01', '2019-07-01'); // Retorno: //['2017-01-01', // '2017-02-01', // '2017-03-01', // '2017-04-01', // '2017-05-01', // '2017-06-01', // '2017-07-01', // '2017-08-01', // '2017-09-01', // '2017-10-01', // '2017-11-01', // '2017-12-01', // '2018-01-01', // '2018-02-01', // '2018-03-01', // '2018-04-01', // '2018-05-01', // '2018-06-01', // '2018-07-01', // '2018-08-01', // '2018-09-01', // '2018-10-01', // '2018-11-01', // '2018-12-01', // '2019-01-01', // '2019-02-01', // '2019-03-01', // '2019-04-01', // '2019-05-01', // '2019-06-01', // '2019-07-01']
Enter fullscreen mode Exit fullscreen mode

O post Pegando os meses entre duas datas com Javascript apareceu primeiro em Henrique Marques Fernandes.

Top comments (0)