如何判断日期是否在Java之前的某个时间之前?

时间:2011-08-18 07:53:31

标签: java

例如,给定一个java.util.Date,如何测试时间是否在当天中午12点30分之前?

7 个答案:

答案 0 :(得分:12)

查看Calendar.before()方法。

Calendar now = Calendar.getInstance();
now.set(Calendar.HOUR_OF_DAY, 12);
now.set(Calendar.MINUTE, 30);
Calendar givenDate = Calendar.getInstance();
givenDate.setTime(yourDate);

boolean isBefore = now.before(givenDate);

答案 1 :(得分:2)

这很有效。它仅使用您日期的小时和分钟部分进行检查:

Date yourDate;
Calendar calendar = Calendar.getInstance();
calendar.setTime(yourDate);
boolean before = calendar.get(Calendar.HOUR) * 60 + calendar.get(Calendar.MINUTE) < 12 * 60 + 30;

答案 2 :(得分:0)

您可以创建一个以当前日期和下午12:30为时间的日期,并与另一个日期进行比较。

答案 3 :(得分:0)

使用 GregorianCalendar 类。

答案 4 :(得分:0)

您必须使用before()中的java.util.Date功能,并设置日期以比较Calendar.settime()功能的组合

答案 5 :(得分:0)

使用所需日期创建日期startDate和endDate,然后您可以执行类似的操作:

if (startDate.before(endDate))
{
  System.out.println("Date is before your given date");
}

答案 6 :(得分:0)

我认为@Bohemian有最好的答案,如果你不想添加依赖项,但IMO你应该节省一些时间并放弃java类并为你的项目添加joda-time:)

    static boolean isBefore1230(Date d) {
        return new DateTime(d).getMinuteOfDay() < 12 * 60 + 30;
    }