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)