检查哪个日期是第一位的?

时间:2011-12-08 19:16:14

标签: 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);

// 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
}

这是可能的,还是有人知道这些方面的简单事项与日期比较?

4 个答案:

答案 0 :(得分:1)

DatePicker是用于显示日期的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;
}

答案 1 :(得分:0)

Datebefore()after()方法..仅供参考。

答案 2 :(得分:0)

您应该从日期选择器中获取结果值并将它们转换为Date对象,这样您就可以轻松地比较值,而不是编写依赖于UI组件的自己的Comparator的路径。

答案 3 :(得分:0)

我实际上写了Java class specifically to handle this situation for Android。随意使用它并将其包含在您的应用程序中!它也有记录。