Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何判断日期是否早于某个时间?_Java - Fatal编程技术网

在Java中,如何判断日期是否早于某个时间?

在Java中,如何判断日期是否早于某个时间?,java,Java,例如,给定一个java.util.Date,我如何测试该时间是否在当天下午12:30之前?请查看该方法 您可以使用当前日期和12:30PM作为时间创建一个日期,并与另一个日期进行比较。使用GregoriaCalendar类。您必须使用函数before()fromjava.util.Date并设置要比较的日期,该日期是Calendar.settime()的组合函数创建具有所需日期的日期startDate和endDate,然后您可以执行以下类似操作: if (startDate.before(end

例如,给定一个java.util.Date,我如何测试该时间是否在当天下午12:30之前?

请查看该方法


您可以使用当前日期和12:30PM作为时间创建一个日期,并与另一个日期进行比较。

使用GregoriaCalendar类。

您必须使用函数
before()
from
java.util.Date
并设置要比较的日期,该日期是
Calendar.settime()的组合
函数

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

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

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

Date yourDate;
Calendar calendar = Calendar.getInstance();
calendar.setTime(yourDate);
boolean before = calendar.get(Calendar.HOUR) * 60 + calendar.get(Calendar.MINUTE) < 12 * 60 + 30;
dateyourdate;
日历=Calendar.getInstance();
日历。设置时间(您的日期);
布尔值before=calendar.get(calendar.HOUR)*60+calendar.get(calendar.MINUTE)<12*60+30;

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

静态布尔值isBefore1230(日期d){
返回新的日期时间(d).getMinuteOfDay()<12*60+30;
}

我认为他/她面临的问题是获取你呼叫的时间
yourDate
问题是,yourDate已经给出了。-1在其他人投票之前,有人实际运行过这个吗?它甚至不会编译,因为Calendar.getInstance()不接受日期。“这是一个糟糕的回答。”佩塔·明切夫(Petar Minchev)负责检查时间是否在“…那天”的12:30之前。这个答案检查时间是否在今天12:30之前。我不敢相信人们会在这个答案错误的时候投票!它没有回答这个问题!如果您有选择的自由,请切换到使用Joda Time——它是处理日期/时间的更好的API。new DateTime().isBefore(new DateTime().withHourOfDay(12)。withMinuteOfHour(30))@deltanovember您为什么接受错误的答案?你选择的那个只告诉你日期是否在今天12:30之前。。。没用。另一方面,我的回答实际上回答了你的问题——它告诉你日期的时间是否在12:30之前。也许你会考虑改变你的接受投票到正确的答案?
Date yourDate;
Calendar calendar = Calendar.getInstance();
calendar.setTime(yourDate);
boolean before = calendar.get(Calendar.HOUR) * 60 + calendar.get(Calendar.MINUTE) < 12 * 60 + 30;
    static boolean isBefore1230(Date d) {
        return new DateTime(d).getMinuteOfDay() < 12 * 60 + 30;
    }