Javascript problema com logica(to a dias nisso)

15 respostas
S

Ola pessoal boa noite, sigo com um pequeno problema em uma logica minha, primeiro vou explicar o que eu to precisando fazer.

Tenho 2 campos de data, e neles selecionei 01/01/2012 e no outro campo 01/04/2012. Então quando for janeiro retorne algo o valor 10, quando for fevereiro retorne 20, março 30 e abril 40.
EX:

Fulano || Valor
Janeiro|| 10,00
Fevereiro||20,00
Março||30,00
Abril||40,00

Agora veja meu codigo:

var data1 = "01/01/2012";
var data2 = "04/04/2012";

AGORA COMO INCREMENTO + 1 mês na data1 ate ele chegar no valor da data2 ?

15 Respostas

JuniorMaia

como vc ta setando o valor?

S

São 2 combos de mes1 e mes2 e 2 combos de anos , ano1 e ano2.

ex:

Combo1 Combo2 Combo3 Combo4
[Janeiro] [2000] [Marco] [Abril]

no qual unifico combo1 + combo2 e unifico combo3 + combo4

d34d_d3v1l

vc ta trabnalhando com a string pura?

Da um substring pra pegar o valor do mes,
transforma pra int, incrementa… depois monta a data de novo…

gambiarra…
kkkkkkkkkkkkk

fcf

samuel, Nunca programei em javascript :lol:
Mas pesquisando no google … existe em javascript objeto DATE.
Nele já tem funções que facilitam bastante a manipulação de datas (se você puder usa-lo) …
Dá uma olhada aqui >> tem tudo explicado

S
var mydate = parseInt(mesano);

Como incremento um mês nesta date?

S

tipo tenho um variavel que vai alimentar quantas vezes vou incrementar os meses na date, exemplo tenho uma date

01/01/2012 e tenho uma int com valor de 24 e precisava incrementar 24 vezes o mes na variavel 01/01/2012

A

Com esse código você pega a diferença de meses dentro de um mesmo ano, sendo 0 janeiro e 11 dezembro

<script type="text/javascript">

var strDate1 = "01/12/2012";
var dateParts1 = strDate1.split("/");
var date1 = new Date(dateParts1[2], (dateParts1[1] - 1) ,dateParts1[0]);

var strDate2 = "01/04/2012";
var dateParts2 = strDate2.split("/");
var date2 = new Date(dateParts2[2], (dateParts2[1] - 1) ,dateParts2[0]);

alert("Data 1:" + date1.getMonth() + "\nData 2:" + date2.getMonth())
alert(date1.getMonth() - date2.getMonth())

</script>
S

Então amigo calcular quantos meses tenho de um parâmetro para outro eu sei, mas a questao do help que eu abrir é apartir disso.

OBS:
01/01/2012 e tenho uma int com valor de 24 e precisava incrementar 24 vezes o mes na variavel 01/01/2012

S

Então amigo calcular quantos meses tenho de um parâmetro para outro eu sei, mas a questao do help que eu abrir é apartir disso.

OBS:
01/01/2012 e tenho uma int com valor de 24 e precisava incrementar 24 vezes o mes na variavel 01/01/2012

A

você precisa adicionar 24 dias à esta data? 01/01/2012 + 24 dia = 25/01/2012? é isso?

W

samuelM:
Ola pessoal boa noite, sigo com um pequeno problema em uma logica minha, primeiro vou explicar o que eu to precisando fazer.

Tenho 2 campos de data, e neles selecionei 01/01/2012 e no outro campo 01/04/2012. Então quando for janeiro retorne algo o valor 10, quando for fevereiro retorne 20, março 30 e abril 40.
EX:

Fulano || Valor
Janeiro|| 10,00
Fevereiro||20,00
Março||30,00
Abril||40,00

Agora veja meu codigo:

var data1 = "01/01/2012";
var data2 = "04/04/2012";

AGORA COMO INCREMENTO + 1 mês na data1 ate ele chegar no valor da data2 ?

Meu, reformula a sua pergunta porque eu nao entendi nada do que voce escreveu.
Juro que eu tentar ler umas 20 vezes, mas continuo sem entender o que voce realmente esta querendo fazer.

//Daniel

S
var data1 = 01/01/2012;

var data2 = 04/04/2012;

var conta = diferencaEntreDias(data1, data22);

tenho estas 2 variáveis certo?
tenho uma outra variável que define quantos meses tenho de diferença entre data1 e data2, OK?

agora meu único e exclusivo problema, preciso criar um for para quando for janeiro receber tal valor quando for fevereiro receber tal valor quando for março receber tal valor assim sucessivamente.

Qqr coisa posso re-explicar novamente hrheheheheheh, mas acho que mais claro q isso impossível.

A

Eu tb não entendi mto, mas vamos ver se é isso kkkkk:

você tem essas 2 variáveis:

var data1 = “01/01/2012”;
var data2 = “04/04/2012”;

a terceira variável é a diferença de dias 04 - 01 ou é 01/01 - 04/04 (mais que 90 dias)?

var conta = diferencaEntreDias(data1, data2);

e, com base no mês que a pessoa está acessando o sistema, ele receberá a diferença que está contida na variável conta?

então se eu acesso estando no mês de fevereiro, ele irá acrescentar à data 1 do mês que eu estou + a diferença?

Exemplo:
Se eu acessar seu sistema no dia 05/02, ele buscará o dia 01/02/2012 e vai somar a esta data o número de dias da variavel conta.

é isso?

S

Exato

A
var data1 = "01/01/2012";
var data2 = "04/04/2012";
var conta = diferencaEntreDias(data1, data22); 

dataFinal = new Date();//pegar a data de agora
dataFinal.setDate(1);//deixar como o primeiro dia do mes
dataFinal.setMonth(dataFinal.getMonth()); //deixar o mes corrente
dataFinal.setFullYear(dataFinal.getFullYear()); //deixar o ano corrente

dataFinal.setDate(dataFinal.getDate()+conta); //pegar o valor da diferença das datas e acrescentar na data final

alert(dataFinal)//voilá!
Criado 13 de maio de 2012
Ultima resposta 14 de mai. de 2012
Respostas 15
Participantes 6