Java Android日期选择器计算,在特定日期之前和之后
我有一个应用程序,它使用当前日期和用户使用日期选择器选择的日期,如下所示:Java Android日期选择器计算,在特定日期之前和之后,java,android,date,calendar,datepicker,Java,Android,Date,Calendar,Datepicker,我有一个应用程序,它使用当前日期和用户使用日期选择器选择的日期,如下所示: 如果用户选择的日期大于当前日期+280天, 将执行一些代码 如果用户选择的日期小于当前日期,则某些 代码将被执行 我使用了这个代码来实现 Calendar start2 = Calendar.getInstance(); int birthYear = birthDayDatePicker.getYear(); int birthMonth = birthDayDate
- 如果用户选择的日期大于当前日期+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 }
Calendar start2=Calendar.getInstance();
int birthdayer=birthDayDatePicker.getYear();
int birthdaymonth=birthDayDatePicker.getMonth();
int birthDay=birthDayDatePicker.getDayOfMonth();
start2.set(生日、生日、生日);
Calendar cal2=Calendar.getInstance();
cal2.设定时间(出生日期);
计算2.添加(日历.月的第天,第天添加);
BirthdayChosenCalendar.set(生日、生日、生日);
MaxBirthdayCalendar.set(当前年、当前月、当前日);
long diff=birthdaychosencalendar.getTimeInMillis()-maxbirthdaycalendar.getTimeInMillis()//结果是毫秒
长日间隔=差值/(24*60*60*1000);
System.out.println(“介于,,,,,,,,,,,,,,,,,,+之间的天数”);
如果(MaxBirthdayCalendar.before(BirthdayChosenCalendar)&&days之间另一种干净的方法是使用Joda时间库
除此之外,一切都可以使用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
// ...
}
Calendar pickedDate=new GregorianCalendar(
picker.getYear(),
picker.getMonth(),
picker.getDayOfMonth());
long pickedTime=pickedDate.getTimeInMillis();
long now=new Date().getTime();
如果(pickedTime-now PickedDate)是日期选择器的日期,现在是当前日期??如果这样做了什么?你能解释一下吗?