CG
setExitAction sendo acionado 2x no campo TDate?
Olá!
Tenho 2 campos de data no formulário um de data de inicio e outro de data fim. No campo de data início eu tenho um método no setExitAction que pega a data que está ali e soma 35 dias e retorna a soma para o campo de data fim do formulário!
O problema é que se eu aperto no primeiro dia do mês a soma acontece numa boa.. então se eu resolvo trocar a data para o dia 2.. eu percebo que ele em vez de somar sobre o dia 2.. ele acaba sempre aumentando os dias para o mês seguinte.. e se eu selecionar outra data ele fica aumento os meses sem parar até bugar a data e ficar em 1969 algo assim.
Percebi também que cada vez que eu clico no campo de data ele já executa o setExitAction, e depois que seleciono a data ele executa novamente, somando assim 70 dias, ou seja, me parece que na primeira vez que clico ele aumenta corretamente, mas depois ele começa a incrementar.
Alguém tem ideia do pode estar acontecendo?
É normal executar a setExitAction duas vezes?
Obrigado!
Tenho 2 campos de data no formulário um de data de inicio e outro de data fim. No campo de data início eu tenho um método no setExitAction que pega a data que está ali e soma 35 dias e retorna a soma para o campo de data fim do formulário!
O problema é que se eu aperto no primeiro dia do mês a soma acontece numa boa.. então se eu resolvo trocar a data para o dia 2.. eu percebo que ele em vez de somar sobre o dia 2.. ele acaba sempre aumentando os dias para o mês seguinte.. e se eu selecionar outra data ele fica aumento os meses sem parar até bugar a data e ficar em 1969 algo assim.
Percebi também que cada vez que eu clico no campo de data ele já executa o setExitAction, e depois que seleciono a data ele executa novamente, somando assim 70 dias, ou seja, me parece que na primeira vez que clico ele aumenta corretamente, mas depois ele começa a incrementar.
Alguém tem ideia do pode estar acontecendo?
É normal executar a setExitAction duas vezes?
Obrigado!
Poste a função responsável por calcular e preencher a data final.
Testei aqui e não tive problemas. O exitAction até foi disparado 2 vezes, mas o cálculo retornou certinho.
Como disse.. se você clicar na data do dia 1 ele soma os 35 dias.. depois se você clicar no dia 2 do mesmo mês.. ele aumenta em um mês a data.. e cada dia que você clica até o 13 do mês de fevereiro.. ele vai aumentando um mês.. quando você clica no dia 14.. ele vai pra 1970!
Olha.. eu fiz de várias maneiras.. essa foi a última que tentei.. tentei com DateTime também e a mesma coisa! Tentei quebrar a data num vetor e somar os dias.. funciona também.. mas acontece o mesmo problema descrito acima!
Obrigado!
Use o padrão americano de datas(yyyy-mm-dd) para realizar os cálculos.
A minha data que vem do formulário já está em d/m/Y , o que tentei agora sem sucesso foi converter para Y-m-d e adicionar em cima disso e devolver d/m/Y.. estava acontecendo os mesmos problemas!
Porém fiz deste jeito aqui e está funcionando... mas tem um detalhe..
Ele está somando os dias certos sem pular meses.. mas estão dando um erro no PHP:
Fatal error: Call to a member function add() on boolean in C:wamp64wwwgecon6appcontrolgeconadminsindicoAdminSindicoForm.class.php on line 145
Não instanciei um objeto DateTime, porém quando instancio o objeto e passo os parâmetros os mesmos erros ocorrem!
$data_inicio = date('d/m/Y', strtotime("+35 days",strtotime(TDate::date2us($param['data_inicio']))));
Obrigado! Desta maneira funcionou!
Não me liguei de usar a classe TDate, mas de todas as maneiras que tentei.. com DateTime, quebrando em vetor e somando.. continuava o problema.
Mas usarei esta solução agora!
Obrigado!