我有一个对象日期,例如这个日期"Fri Aug 01 00:00:00 CDT 2014",通过此验证:
Date fechaInicio = filtros.containsKey("dateFechaInicio") ? Fecha.getMinDate(Fecha.getFecha(filtros.get("dateFechaInicio").toString())) : Fecha.getMinDate(null);
Run Code Online (Sandbox Code Playgroud)
如果地图filtros包含关键字"dateFechaFinal",它将使用方法Fecha.getMaxDate(Date date)
public static Date getMinDate(Date fecha) {
Calendar fechaMin = Calendar.getInstance();
fechaMin.setTime(fecha != null ? fecha : new Date());
fechaMin.set(fechaMin.get(Calendar.YEAR),
fechaMin.get(Calendar.MONTH),
fecha != null ? fechaMin.get(Calendar.DAY_OF_MONTH) : fechaMin.getActualMinimum(Calendar.DAY_OF_MONTH),
fechaMin.getActualMinimum(Calendar.HOUR_OF_DAY),
fechaMin.getActualMinimum(Calendar.MINUTE),
fechaMin.getActualMinimum(Calendar.SECOND));
return fechaMin.getTime();
}
Run Code Online (Sandbox Code Playgroud)
并返回一个新的日期,如果此方法收到日期返回此长时间1406869200806,但如果收到等于null的日期,该方法将从月份的第一天开始,例如"Fri Aug 01 00:00:00 CDT 2014",但现在返回这个长时间1406869200000 ..
"filtros获得了一个String,方法getFecha()转换为新的Date"
为什么会这样?