[RESOLVIDO]Problema com uso de datas

6 respostas
rapha.java

Bom dia,
Estou com duvidas para passar datas de uma pagina jsp para o managed bean. Seguinte, a minha tela abre um modal de pesquisa e nesse modal tenho dois campos de textos onde são digitadas a data inicial de pesquisa e a final, e o botao pesquisar deve retornar a pesquisa neste periodo de tempo ex: (coloco a data inicial e a final, ai o metodo deve buscar as informações de um produto neste periodo de tempo, TODAS AS INFORMAÇÕES ESTAO EM UM ARRAYLIST DE OBJETOS INSERIDOS MANUALMENTE ), mas não estou conseguindo setar esta data no Managed Bean, pois no MB eles estao como Date, como passo para o meu Bean e faço a pesquisa neste periodo de tempo.

<h:inputText size="15" style="padding-right:30px;padding-left:30px;"
				id="dtVigenciaInicial"
				onkeypress="formatar('##/##/####', this);return somenteNumero(event)"
				maxlength="10" value="#{EnquadramentoMB.dtInicial }"
				converterMessage="Data inválida">
				<f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo"
					dateStyle="short" />
			</h:inputText>
			<rich:message for="dtVigenciaInicial" />

			<h:outputText value="até"
				style="font-weight: bold; font-size:12px;COLOR: #OO0000;padding-right:30px;padding-left:30px" />

			<h:inputText size="15" style="padding-right:30px;padding-left:30px;"
				id="dtVigenciaFinal"
				onkeypress="formatar('##/##/####', this);return somenteNumero(event)"
				maxlength="10" value="#{EnquadramentoMB.dtInicial}" />

6 Respostas

rodrigo.manfre

Por você não coloca o campo como String e na hora do insert você converte para Date?
O que você pode fazer também é criar um tipo String para usar na tela e um tipo Date para usar no banco, na implementação do seu SET do tipo String para essa data, vc já cria o tipo correto e aplica no objeto do tipo Date

Espero ter ajudado

rapha.java

rodrigo.manfre:
Por você não coloca o campo como String e na hora do insert você converte para Date?
O que você pode fazer também é criar um tipo String para usar na tela e um tipo Date para usar no banco, na implementação do seu SET do tipo String para essa data, vc já cria o tipo correto e aplica no objeto do tipo Date

Espero ter ajudado

Entaum fiquei com um pouco de duvida nessa parte, os metodos get e set gerados podems er modificados sem nenhum problema??

e vc poderia me ajudar com a duvida acima ???

rodrigo.manfre

Não existe nenhuma regra que diz se pode ser alterado ou não, isso vai de acordo com sua necessidade.
A dúvida que você tinha não era essa das datas?

rapha.java
rodrigo.manfre:
Não existe nenhuma regra que diz se pode ser alterado ou não, isso vai de acordo com sua necessidade. A dúvida que você tinha não era essa das datas?

Então rodrigo.manfre estou conseguindo fazer porém, agora estou com problemas durante o for para fazer uma pesquisa de datas no meu arraylist onde esta gravada as datas, segue o código:

public void listraEntraData() throws ParseException {

		SimpleDateFormat mask = new SimpleDateFormat();

		for (TbPesquisa p : tbpesquisa) {

			Date verifica = mask.parse(p.getpInicioVig());
			System.out.println(verifica);
			if (verifica.after(getDtFinal()) && verifica.before(getDtInicial())) {

				System.out.println("Listando conforme a data...");//aqui a lista vai adicionar as linhas com as datas dentro do periodo 

			} else {
				System.out.println("Está errado"); //aqui a lista vai adicionar as linhas com as datas dentro do periodo 
			}

		}

	}
Então, como passei passei para lista uma String na hora do for, converti para Date e da o seguinte erro
javax.servlet.ServletException: #{EnquadramentoMB.listraEntraData}: java.text.ParseException: Unparseable date: "05/09/2011"
rodrigo.manfre

Tente mudar disso:
SimpleDateFormat mask = new SimpleDateFormat();

Para isso:
SimpleDateFormat mask = new SimpleDateFormat( “dd/MM/yyyy” );

Att

rapha.java

rodrigo.manfre:
Tente mudar disso:
SimpleDateFormat mask = new SimpleDateFormat();

Para isso:
SimpleDateFormat mask = new SimpleDateFormat( “dd/MM/yyyy” );

Att

Funcionou Obrigado!

Criado 14 de setembro de 2011
Ultima resposta 16 de set. de 2011
Respostas 6
Participantes 2