我需要解决以下问题。我需要创建日期来与其他人进行比较,但是由于比较时间的原因,日期必须没有时间。无时间获取当前日期
我尝试过很多方法,但仍然失败。
我可以想象这样的格式:
Date(2014-13-03 0:00:00).getTimeMillis();
难道有谁知道怎么样?
我需要解决以下问题。我需要创建日期来与其他人进行比较,但是由于比较时间的原因,日期必须没有时间。无时间获取当前日期
我尝试过很多方法,但仍然失败。
我可以想象这样的格式:
Date(2014-13-03 0:00:00).getTimeMillis();
难道有谁知道怎么样?
你可以使用一个Calendar
来解决这个问题:
Calendar cal = Calendar.getInstance();
cal.setTime(yourDate);
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
Date desiredDate = cal.getTime();
long time = new SimpleDateFormat("yyyy-dd-MM").parse("2014-13-03 0:00:00").getTime();
最好的事情是乔达时间,如果你可以使用它。
否则,请使用Calendar API。调用Calendar.set()将小时,分钟,秒和毫秒设置为零,那么你有一个日期开始的日期。
但是,不会new DateTime().withTimeAtStartOfDay()是一个更容易表达?
您可以使用Calendar.clear(field)方法来清除日期的时间部分。
Calendar rightNow = Calendar.getInstance();
rightNow.clear(Calendar.HOUR);
rightNow.clear(Calendar.MINUTE);
rightNow.clear(Calendar.SECOND);
rightNow.clear(Calendar.MILLISECOND);
Date today = rightNow.getTime();
在Java 8,你可以做
LocalDate date = LocalDate.of(2014, Month.MARCH, 13);
类'Date'是不适合的情况下,使用类'LocalDate'在乔达时库:HTTP://www.joda。组织/乔达时间/ – morgano