Duvida como inicializar um campo Date no iReport

9 respostas
P

Olá,

estou com duvida como inicializar um campo Date de parametro no iReport

pois queria colocar a data e horário …como poderia fazer isso alguém já passou por isso

abs

Date dia =new Date();
		   Calendar cal = Calendar.getInstance();
		   cal.set(Calendar.YEAR, 1900);
		   cal.set(Calendar.MONTH, 01);
		   cal.set(Calendar.DAY_OF_MONTH, 01);
		   cal.set(Calendar.HOUR, 00);
		   cal.set(Calendar.MINUTE, 00);
		   cal.set(Calendar.SECOND, 00);
		   dia = cal.getTime();

9 Respostas

P

help;;;help;;;help

M
paribe:
Olá, estou com duvida como inicializar um campo Date de parametro no iReport pois queria colocar a data e horário ...como poderia fazer isso alguém já passou por isso abs
Date dia =new Date();
		   Calendar cal = Calendar.getInstance();
		   cal.set(Calendar.YEAR, 1900);
		   cal.set(Calendar.MONTH, 01);
		   cal.set(Calendar.DAY_OF_MONTH, 01);
		   cal.set(Calendar.HOUR, 00);
		   cal.set(Calendar.MINUTE, 00);
		   cal.set(Calendar.SECOND, 00);
		   dia = cal.getTime();

Não sei se entendi bem o que você deseja, mas assim não te serve não?

Date data = new SimpleDateFormat("dd/MM/yyyy").parse("04/05/2009 13:35:00")

[]'s
JL

P

no campo de parametro com tipo Date em Valor padrão da Expressão escrevi o que está abaixo

mas não aparece essa data no campo de parametro ??? porque o que estou fazendo de errado???

new SimpleDateFormat("dd/MM/yyyy").parse("25/01/1968 12:25:00")
M

paribe:
no campo de parametro com tipo Date em Valor padrão da Expressão escrevi o que está abaixo
mas não aparece essa data no campo de parametro ??? porque o que estou fazendo de errado???

new SimpleDateFormat("dd/MM/yyyy").parse("25/01/1968 12:25:00")

Vamos aos passos para saber o que está de errado.
Primeiro em Valor padrão da Expressão deixe como esta:

new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("25/01/1968 12:25:00")

No Field onde vai ser exibido o valor, verifique se o tipo do Field é de java.util.Date, e também se o Modelo Padrão está igual ao do construtor do SimpleDateFormat:

Só pra tirar a dúvida, veja se o tamanho do campo é suficiente para exibir o valor.

[]'s
JL

P

o que estou fazendo passo a passo (iReport 3.0.0):

  • Visualizar
    • Parametros do Relatorio
      • campo data_inicial click modificar
        • nome parametro : data_inicial
          tipo de classe de Parametro :java.util.Date
          Usar Como uma sugestão : está setado
          Valor Padrão Expressão : new SimpleDateFormat(“dd/MM/yyyy”).parse(“25/01/1968 12:25:00”)
          Descrição do Parametro : Informe a Data :

Depois clico o botão : Executar o relatório (conexão ativa)

mostra o campo data_inicial somente com a data 04/05/2009 (de hoje) e sem hora minuto e segundo

Essa é minha duvida???

abs

M

paribe:
o que estou fazendo passo a passo (iReport 3.0.0):

  • Visualizar
    • Parametros do Relatorio
      • campo data_inicial click modificar
        • nome parametro : data_inicial
          tipo de classe de Parametro :java.util.Date
          Usar Como uma sugestão : está setado
          Valor Padrão Expressão : new SimpleDateFormat(“dd/MM/yyyy”).parse(“25/01/1968 12:25:00”)

Altere para new SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”).parse(“25/01/1968 12:25:00”)

Não esquece de no Field onde vai ser exibido o valor também colocar dd/MM/yyyy HH:mm:ss.

[]'s
JL

P

obrigado pelo retorno mas não mostra a data formata pelo SimpleDateFormat

mostrei no relatório a data conforme abaixo não vai o horário .minuto e segundo …

muito estranho

quando roda o relatório e pede pra digitar o valor para data_inicial

Você pode estipular um valor para o parametro

data_inicial
04/05/2009          e tem um botão pra escolher outras datas mostra um calendário

O tipo da classe é: java.util.Date

Informe a Data :
25/01/1968 00.00.00 

31/12/2099 00.00.00
P

resumindo o que fiz pra funcionar …

no iReport não consigo colocar hora.minuto e segundo e o que fiz:

  • na data inicial coloquei um dia - 1

  • na data final coloquei um dia + 1

no action java

passando de String que vem jsp para Date parametro do jasper rodo dois metodos que
peguei aqui no forum …

dessa forma funcionou o SQL …se alguém cair nessa situação …

abs

public static Date convertStringToDate(String date,String operator) throws BaseException {
		Date out = null;
		SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");  
		
		try {
			Date dataTODate = dateFormat.parse(date);
			
			if (operator.equals("=")||operator.equals(">")||operator.equals(">=")||operator.equals("!")){
				out = DateUtils.lowDateTime(dataTODate);	
			}else{
				out = DateUtils.highDateTime(dataTODate);
			}
 
		} catch(Exception e) {
			//throw new BaseException(e, "CriteriaSearchDetail", "convertStringToCalendar", "1");
		}
		return out;
	}
--
 public static Date lowDateTime(Date date) {  
	           Calendar aux = Calendar.getInstance();  
	           aux.setTime(date);  
	           toOnlyDate(aux); //zera os parametros de hour,min,sec,milisec  
	           return aux.getTime();  
	       }  

---
  public static Date highDateTime(Date date) {  
	           Calendar aux = Calendar.getInstance();  
	           aux.setTime(date);  
	           toOnlyDate(aux); //zera os parametros de hour,min,sec,milisec  
	           aux.roll(Calendar.DATE, true); //vai para o dia seguinte  
	           aux.roll(Calendar.MILLISECOND, false); //reduz 1 milisegundo  
	           return aux.getTime();  
	       }
P

ficou faltando

public static void toOnlyDate(Calendar date) {  
	           date.set(Calendar.HOUR_OF_DAY, 0);  
	           date.set(Calendar.MINUTE, 0);  
	           date.set(Calendar.SECOND, 0);  
	           date.set(Calendar.MILLISECOND, 0);  
	       }
Criado 30 de abril de 2009
Ultima resposta 5 de mai. de 2009
Respostas 9
Participantes 2