【问题标题】:Android date picker calculation , before and after a specific dateAndroid日期选择器计算,在特定日期之前和之后
【发布时间】:2012-11-13 17:07:47
【问题描述】:

我有一个应用程序,它使用当前日期和用户使用日期选择器选择的日期,如下所示:

  • 如果用户选择的日期大于当前日期+280天, 一些代码将被执行。

  • 如果用户选择的日期小于当前日期,一些 代码将被执行。

我用这个代码来做这个..

    Calendar start2 = Calendar.getInstance();

       int birthYear = birthDayDatePicker.getYear();
            int birthMonth = birthDayDatePicker.getMonth();
            int birthDay = birthDayDatePicker.getDayOfMonth();

            start2.set(birthYear, birthMonth, birthDay);

           Calendar cal2 = Calendar.getInstance();
           cal2.setTime(birthDate);
           cal2.add(Calendar.DAY_OF_MONTH,daysToAdd);
 birthDayChosenCalender.set(birthYear,birthMonth,birthDay);
         MaxBirthDayCalender.set(currentYear, currentMonth, currentDay);

          long diff = birthDayChosenCalender.getTimeInMillis() - MaxBirthDayCalender.getTimeInMillis(); //result in millis
          long daysBetween = diff / (24 * 60 * 60 * 1000);
          System.out.println("Days between ,,,,,,,,,,,,,,,,,,"+daysBetween);

          if(MaxBirthDayCalender.before(birthDayChosenCalender) && daysBetween <= 280){

do sth }

还有其他干净的方法可以做到这一点!因为这种方式效果不好!

【问题讨论】:

    标签: java android date calendar datepicker


    【解决方案1】:

    另一种干净的方法是使用 Joda Time 库。

    除此之外,一切都可以使用 millis 和单个日历实例来完成:

    Calendar pickedDate = new GregorianCalendar(
            picker.getYear(), 
            picker.getMonth(), 
            picker.getDayOfMonth());
    long pickedTime = pickedDate.getTimeInMillis();
    long now = new Date().getTime();
    
    if (pickedTime - now <= (280 * 24 * 60 * 60 * 1000)) { // 280 days in milliseconds
      // ...
    }
    

    应该满足要求:

    我有一个应用程序,它使用当前日期和用户使用日期选择器选择的日期,如下所示:

    • 如果用户选择的日期大于当前日期+280天,就会执行一些代码。
    • 如果用户选择的日期小于当前日期,则会执行一些代码。

    【讨论】:

    • PickedDate 有来自日期选择器的日期,现在是当前日期??这如果做什么?你能解释一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多