Olá pessoal estou com uma dúvida em relação ao Calendar, quero pegar a data do banco de dados e mostrar em relatorio em pdf, mas , tenho que formatar essa data para o formato brasileiro.
alguem poderia me mostrar um exemplo?
devem existir vários exemplos aqui no fórum, mas como é algo simples formatar uma data vai um exemplo agora:
Calendar cal = Calendar.getInstance();
System.out.println( "Date: " + cal.getTime() );
SimpleDateFormat df = new SimpleDateFormat( "dd-MM-yyyy" );
System.out.println( "Date: " + df.format( cal.getTime() ) );
Valeu pela ajuda…
Por exemplo eu estou armazenando nesse Calendar a data que o usuario digita no formulario, como faço para pegar o dia o mês e o ano… porque olha o erro que deu…
[SEVERE: Servlet.service() for servlet vraptor2 threw exception
java.sql.DataTruncation: Data truncation
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:382)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2816)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2254)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:631)
at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:584)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:546)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeUpdate(JtdsPreparedStatement.java:505)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:73)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:33)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2044)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2481)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:47)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:180)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:509)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:501)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:497)
at br.com.unimedseguros.generic.dao.Dao.atualiza(Dao.java:26)
at br.com.unimedseguros.saude.reembolso.logic.ReembolsoLogic.gera(ReembolsoLogic.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
at org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at br.com.unimedseguros.saude.reembolso.dao.DaoInterceptor.intercept(DaoInterceptor.java:14)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:90)
at org.vraptor.core.DefaultController.execute(DefaultController.java:42)
at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
]
Algumas perguntas para entender o erro:
Como o usuário está digitando esta data? ele tem um padrão?
Você já conseguiu converter isso que o usuário digitou em um Object Date ou você tem somente a String que ele digitou?
Att
ele digita no padrão dia/mes/ano. usa javascript para fazer isso.
Bom dia.
Cara, acho que ainda não consegui entender certo sua dúvida, de como você está tentando utilizar esta data, mas fiz um exemplo desde a conversão da data (String) para uma data (Date), utilizando a classe Calendar e obtendo o número do dia, mês e ano.
// classe responsável por formatar as datas no padrão 'dd/MM/yyyy'
SimpleDateFormat df = new SimpleDateFormat( "dd/MM/yyyy" );
// data digitada pelo usuário
String digitado = "01/01/2009";
try
{
// converter a data (String) do usuário para um objeto Date
// esta conversão pode gerar um Exception
java.util.Date date = df.parse( digitado );
// obtem instância da classe Calendar
Calendar cal = Calendar.getInstance();
// define o Calendar (cal) com a data (java.util.Date) que o usuário digitou
cal.setTime( date );
// imprime o número do dia
System.out.println( "DIA: " + cal.get( Calendar.DAY_OF_MONTH ) );
// imprime o número do mes (jan=0, fev=1, ...)
System.out.println( "MES: " + cal.get( Calendar.MONTH ) );
//imprime o número do ano
System.out.println( "ANO: " + cal.get( Calendar.YEAR ) );
}
catch ( Exception e )
{
System.out.println( "Erro ao converter a data!" );
}
Estou pegando a data desse jeito e validando com javaScript e já passando para o calendar.
[code]