Problemas com Date

Pessoal tenho dois JFormattedTextField no meu Frame um Data Inicial e DataFinal , pesquisei aqui no GUJ de como passar uma data do JFormattedTextField p/ Date e para Calendar , mas ocorre o seguinte qndo faço esse procedimento a Data Inicial e Data Final ficam sempre com ultima data, dataFinal
Estou fazendo assim:


Date d1 = new Date();
				Date d2 = new Date();
				d1 = dateFormat.parse(textFieldDtInicial.getText());
				d2 = dateFormat.parse(textFieldDtFinal.getText());
				GregorianCalendar cal1 = new GregorianCalendar();
				GregorianCalendar cal2 = new GregorianCalendar();
				cal1.setTime(d1);
				cal2.setTime(d2);
				cCont.setDataInicial(cal1);
				cCont.setDataFinal(cal2);

Mas ocorre o seguinte qndo passo essas datas 20/06/2006 e 20/10/2006 o cal1 e cal2 ficam com os mesmos valores ou seja com a data final : 20/10/2006

Qual seria a forma correta de pegar no textfield e passar para calendar ?

Tenta fazer o seguinte e vê se funciona:

Date d1 = new Date();
Date d2 = new Date();
d1 = dateFormat.parse(textFieldDtInicial.getText());
d2 = dateFormat.parse(textFieldDtFinal.getText());
GregorianCalendar cal1 = new GregorianCalendar();
cal1.setTime(d1);
cCont.setDataInicial(cal1);
cal1.setTime(d2);
cCont.setDataFinal(cal1);

Acredito que o GregorianCalendar, mesmo sendo instancias diferentes do mesmo objeto aponta para o mesmo objeto Calendar encapsulado. Não encontrei nada disso no javadoc, mas vou continuar pesquisando e quando achar post aqui no forum.

Pois é tentei isso e nao funcionou …valeu pela ajuda

[quote=aoqfonseca]Tenta fazer o seguinte e vê se funciona:

Date d1 = new Date();
Date d2 = new Date();
d1 = dateFormat.parse(textFieldDtInicial.getText());
d2 = dateFormat.parse(textFieldDtFinal.getText());
GregorianCalendar cal1 = new GregorianCalendar();
cal1.setTime(d1);
cCont.setDataInicial(cal1);
cal1.setTime(d2);
cCont.setDataFinal(cal1);

Acredito que o GregorianCalendar, mesmo sendo instancias diferentes do mesmo objeto aponta para o mesmo objeto Calendar encapsulado. Não encontrei nada disso no javadoc, mas vou continuar pesquisando e quando achar post aqui no forum.[/quote]

Você pode colocar o código da classe VO, mais precisamento o código do setDtFinal e do setDtinicial ?
Pode ser algo dentro da sua classe

Tem cheirinho de ser algo parecido com isto:

 				cCont.setDataInicial(cal1);
 				cCont.setDataFinal(cal2);
...

void setDataInicial (Calendar cal) {
    dataInicial = cal;
}
void setDataFinal (Calendar cal) {
    dataInicial = cal;
}
Calendar getDataInicial () {
    return dataInicial;
}
Calendar getDataFinal () {
    return dataInicial;
}

Será que foi problema no Copy/Paste/Edit?

minha classe entidade esta assim:

public class CContrato 
{
	private int idContrato;
	private String formaVigencia;
	private Calendar dataInicial;
	private Calendar dataFinal;
	
	public Calendar getDataFinal() {
		return dataFinal;
	}
	public void setDataFinal(Calendar dataFinal) {
		this.dataFinal = dataFinal;
	}
	public Calendar getDataInicial() {
		return dataInicial;
	}
	public void setDataInicial(Calendar dataInicial) {
		this.dataInicial = dataInicial;
	}
	public String getFormaVigencia() {
		return formaVigencia;
	}
	public void setFormaVigencia(String formaVigencia) {
		this.formaVigencia = formaVigencia;
	}
	public int getIdContrato() {
		return idContrato;
	}
	public void setIdContrato(int idContrato) {
		this.idContrato = idContrato;
	}
	
	
}

[quote=thingol]Tem cheirinho de ser algo parecido com isto:

 				cCont.setDataInicial(cal1);
 				cCont.setDataFinal(cal2);
...

void setDataInicial (Calendar cal) {
    dataInicial = cal;
}
void setDataFinal (Calendar cal) {
    dataInicial = cal;
}
Calendar getDataInicial () {
    return dataInicial;
}
Calendar getDataFinal () {
    return dataInicial;
}

Será que foi problema no Copy/Paste/Edit?[/quote]

Para evitar esse problema de copy/paste , mandei o eclipse gerar o setters e getters …

Aproveitando o tópico estou tentado extrair um mes e ano em um campo timestamp no postgresql dando uma lida no manual ele me trouxe este este exemplo:
Já fizeram algo parecido ?


SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');

Estou tentando passar a data atraves do PreparedStatement



stmt = dbCon.prepareStatement("SELECT cont_id_contrato,cont_placa,cont_tipo_contrato" +
			 		", cax_id_contrato,cax_dt_vencimento,cax_valor_a_pagar,cax_status,cax_mes_vigencia FROM cont_contrato_00863858," +
			 		" cax_caixa_00863858 WHERE cont_id_contrato = cax_id_contrato AND EXTRACT (MONTH FROM cax_mes_vigencia = ? )  AND " +
			 		"EXTRACT (YEAR FROM cax_mes_vigencia = ? )");
			 
			 //SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');

			 pstmt.clearParameters();
			 pstmt.setTimestamp(1,new Timestamp(cP.getData().getTimeInMillis()));
			 pstmt.setTimestamp(2,new Timestamp(cP.getData().getTimeInMillis()));
			 ResultSet rs = pstmt.executeQuery();

mas retorna esse exception:


org.postgresql.util.PSQLException: ERROR: function pg_catalog.date_part("unknown", boolean) does not exist
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:257)
	at dao.CIntSbdPagamMes.mostrarListaPagMes(CIntSbdPagamMes.java:42)
	at control.CCtrlPagamMes.consultarListaPagMes(CCtrlPagamMes.java:32)
	at interfaces.CIntPagamMes.keyReleased(CIntPagamMes.java:70)
	at java.awt.Component.processKeyEvent(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)