立即获取当前日期

时间:2014-03-13 20:36:50

标签: java date time

我需要解决以下问题。我需要创建日期以便与其他人进行比较,但由于比较timemillis,日期必须没有时间。

我尝试了很多方法,但仍未成功。

我会想象这样的格式:

Date(2014-13-03 0:00:00).getTimeMillis();

有谁知道怎么做?

5 个答案:

答案 0 :(得分:5)

您可以使用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();

答案 1 :(得分:1)

如果可以使用它,最好的是joda-time。

否则,请使用Calendar API。调用Calendar.set()将小时,分钟,秒和毫秒设置为零,然后你有一个日期的开始日期。

但是,赢得new DateTime().withTimeAtStartOfDay()更容易表达?

答案 2 :(得分:1)

在Java 8中你可以做到

LocalDate date = LocalDate.of(2014, Month.MARCH, 13);

答案 3 :(得分:0)

您可以使用Calendar.clear(字段)方法清除日期的时间部分。

Calendar rightNow = Calendar.getInstance();
rightNow.clear(Calendar.HOUR);
rightNow.clear(Calendar.MINUTE);
rightNow.clear(Calendar.SECOND);
rightNow.clear(Calendar.MILLISECOND);
Date today = rightNow.getTime();

答案 4 :(得分:-1)

long time = new SimpleDateFormat("yyyy-dd-MM").parse("2014-13-03 0:00:00").getTime();