Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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_Android - Fatal编程技术网

Java 检查哪个日期先到?

Java 检查哪个日期先到?,java,android,Java,Android,应该有一些简单的方法来检查哪个DatePicker对象首先出现,这似乎是合乎逻辑的,但我找不到完成的方法 // so if you had two objects final DatePicker start_datepicker = (DatePicker)findViewById(R.id.DatePickerStart); final DatePicker end_datepicker = (DatePicker)findViewById(R.id.DatePickerEnd); //

应该有一些简单的方法来检查哪个
DatePicker
对象首先出现,这似乎是合乎逻辑的,但我找不到完成的方法

// so if you had two objects
final DatePicker start_datepicker = (DatePicker)findViewById(R.id.DatePickerStart);
final DatePicker end_datepicker = (DatePicker)findViewById(R.id.DatePickerEnd);

// I was thinking something along the lines of:
if (end_datepicker > start_datepicker) {
  // something
}

// or is there something like 
if (end_datepicker.isLarger(start_datepicker)) {
  // Something
}

这是可能的吗?或者有人知道一些简单的方法来与日期进行比较吗?

有很多方法和方法。。仅此而已。

日期选择器是用于显示日期的UI小部件。您不会通过赋值(如在代码中)来设置它,而是通过调用它的
init
方法来设置它。通常,您会使用OnDateChangedListener跟踪日期。不过,您可以将两个此类小部件上显示的当前日期与以下内容进行比较:

/** Returns a number <0, 0, or >0 when dp1 displays a date <, =, or > dp2. */
public int compare(DatePicker dp1, DatePicker dp2) {
    int compare = dp1.getYear() - dp2.getYear();
    if (compare == 0) {
        compare = dp1.getMonth() - dp2.getMonth();
        if (compare == 0) {
            compare = dp1.getDay() - dp2.getDay();
        }
    }
    return compare;
}
/**当dp1显示日期dp2时返回数字0*/
公共整数比较(日期选择器dp1、日期选择器dp2){
int compare=dp1.getYear()-dp2.getYear();
如果(比较==0){
compare=dp1.getMonth()-dp2.getMonth();
如果(比较==0){
compare=dp1.getDay()-dp2.getDay();
}
}
返回比较;
}

您应该从日期选择器中获取结果值,并将其转换为日期对象,这样您就可以轻松地比较这些值,而不是按照编写依赖于UI组件的比较器的方式进行操作。

我实际上编写了一个。请随意使用它,并将其包含在您的应用程序中!它也有文档记录。

请编辑您的帖子,以正确格式化您的“java”代码。提高代码质量将帮助他人帮助您解决问题,这也是stackoverflow的主要指导原则之一。是的,我从一个小部件中获取日期,但我想知道是否有更好的方法来比较它们。我想到了你的解决方案,但似乎应该有一个更简单的方法来比较两个日期对象。上述方法应该以某种方式内置,但可能不是。我会更正上面的代码。但既然这似乎是最好的方法,我就这样做。感谢Ted编写代码!你真是太好了。我也试着看看是否有办法获得日期,但没有办法。似乎很奇怪,没有一行解决方案来比较一个数据库中的日期widget@gurung是的,我确信datePicker UI可以返回一个日期对象(我从来没有使用过它)我的错误。不过真的很奇怪。@Stagleton:只要把这个现成的方法放到某个地方,它就会是一条直线@古隆-嗯,你刚才不是在同一个线程上链接到我的答案吗?有没有一种简单的方法可以做到这一点?这里有一个链接到一个示例,说明如何将从DatePicker获得的月、月日和年值转换为日期对象。