例如,给定一个java.util.Date,如何测试时间是否在当天中午12点30分之前?
答案 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;
}