我是一个对象日期,例如这个日期" Fri Aug 01 00:00:00 CDT 2014"通过这个验证:
Date fechaInicio = filtros.containsKey("dateFechaInicio") ? Fecha.getMinDate(Fecha.getFecha(filtros.get("dateFechaInicio").toString())) : Fecha.getMinDate(null);
地图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();
}
并返回一个新的日期,如果此方法收到日期返回此长时间1406869200806,但如果收到等于null的日期,则该方法从月份开始的第一天例如" Fri Aug 01 00:00: 00 CDT 2014"但现在返回这个长时间1406869200000 ..
" filtros获得了一个String,方法getFecha()转换为新的日期"
为什么会这样?
答案 0 :(得分:6)
您只需将值设置为秒,因此毫秒部分保留在new Date()
的任何位置。你的描述并不完全清楚,但我怀疑你只是想要:
fechaMin.set(Calendar.MILLISECOND, 0);
或者,在Java 8中使用更好的API,例如Joda Time或java.time
API。