可能重复:
How do I compare a raw time in Java to now?
How do I compare a raw time in Java?java - 我有一个Date()。我怎么知道它是否在HH:MM之后?
它不事关这一天。
我必须知道现在是晚上10点还是之前。
可能重复:
How do I compare a raw time in Java to now?
How do I compare a raw time in Java?java - 我有一个Date()。我怎么知道它是否在HH:MM之后?
它不事关这一天。
我必须知道现在是晚上10点还是之前。
在这里你去:
Date date = new Date();
int hours = date.getHours();
if (hours < 10) {
System.out.println("before 10 am");
} else {
System.out.println("after 10 am");
}
// if deprecated methods are an issue then
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int calHours = cal.get(Calendar.HOUR_OF_DAY);
if (calHours < 10) {
System.out.println("before 10 am");
} else {
System.out.println("after 10 am");
}
整个事情可以更清晰地使用乔达时库许多工作要做。
您可以使用:
Date yourDate = new Date();
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(yourDate);
boolean before10AM = calendar.get(Calendar.HOUR_OF_DAY) < 10;
检查出Calendar
文件,以了解更多的东西,你可以用它做(比如,例如,你可以找到,如果你的日期是星期五或不)。
在以前的JDK版本中,您可以使用Date.getHours()
,但现在不推荐使用Calendar
类。
Calendar calendar = new GregorianCalendar();
calendar.setTime(yourDate);
Calendar calendar1 = new GregorianCalendar();
calendar1.set(Calendar.YEAR, calendar.get(Calendar.YEAR));
calendar1.set(Calendar.MONTH, calendar.get(Calendar.MONTH));
calendar1.set(Calendar.DATE, calendar.get(Calendar.DATE));
calendar1.set(Calendar.HOUR_OF_DAY, YOUR_HOUR);
calendar1.set(Calendar.MINUTE, YOUR_MINUTE);
calendar1.set(Calendar.SECOND, 0);
calendar1.set(Calendar.MILLISECOND, 0);
Date date = calendar1.getTime();
if (yourDate.after(date)) {
System.out.println("After");
}