public static Criterion eqDate(String stringDate) {
Date date = DateUtils.toDate(stringDate);
return Restriction.beetwen("data",DateUtils.lowDateTime(date),DateUtils.highDateTime(date));
}
@author Tomaz Lavieri /
public class DateUtils {
/*
Formatação “dd/mm/yyyy”. /
public static DateFormat BRAZIL_FORMAT = new SimpleDateFormat(“dd/mm/yyyy”);
/*
Formatação “dd/mm/yy”.
*/
public static DateFormat BRAZIL_SHORT_FORMAT =
new SimpleDateFormat(“dd/mm/yy”);
/**
Não é possivel instanciar DateUtils.
*/
private DateUtils(){}
/**
Retorna o valor do horário minimo para a data de referencia passada.
Por exemplo se a data for “30/01/2009 as 17h:33m:12s e 299ms” a data
retornada por este metodo será “30/01/2009 as 00h:00m:00s e 000ms”.
@param date de referencia.
@return {@link Date} que representa o horário minimo para dia informado.
*/
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();
}
/**
Retorna o valor do horário maximo para a data de referencia passada.
Por exemplo se a data for "30/01/2009 as 17h:33m:12s e 299ms" a data
retornada por este metodo será "30/01/2009 as 23h:59m:59s e 999ms".
@param date de referencia.
@return {@link Date} que representa o horário maximo para dia informado.
*/
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();
}
/**
Zera todas as referencias de hora, minuto, segundo e milesegundo do
Formata a data passada em uma {@link String} com o formato "dd/mm/yyyy".
@param date a data a ser formatada.
@return {@link String} com a data formatada. /
public static String toString(Date date) {
if (date == null)
return null;
return BRAZIL_FORMAT.format(date);
}
/*
Formata a data passada em uma {@link String} com <tt>shortFormat</tt>
“dd/mm/yy”, ou com o formato longo “dd/mm/yyyy”.
@param date a data a ser formatada.
@param shortFormat <tt>true</tt> se o formato é o curto, ou
<tt>false</tt> caso o formato seja o longo.
@return {@link String} com a data formatada.
*/
public static String toString(Date date, boolean shortFormat) {
if (date == null)
return null;
return shortFormat ?
BRAZIL_SHORT_FORMAT.format(date) : BRAZIL_FORMAT.format(date);
}
}[/code]