业务中遇到了时间选择器的问题:
需要判断:
1)开始日期<=结束日期
2)开始日期与结束日期相隔不大于1个月(不是30天)
//timeStar和timeEnd都是Int型数组,用于存放选中的年月日
//使用 calendar对象获取选中的日期,新版本的Date类只剩下long整形的构造函数未过时
calendarStart.set(timeStar[0],timeStar[1],timeStar[2],0,0,0)
calendarEnd.set(timeEnd[0],timeEnd[1],timeEnd[2],0,0,0)
//判断开始日期是否大于结束
if(calendarStart.time>calendarEnd.time){
//"开始日期大于结束日期"
return
}
//给开始日期加一个月,判断是否小于结束日期
calendarStart.add(Calendar.MONTH,1)
if(calendarStart.time<calendarEnd.time){
//"开始日期与结束日期超过一个月"
return
}
在应用上多次测量发现:
1个月有时候是30天(4:30 - 5:30)
有时候是31天(7:30 - 8:30)
如果想稳定满足30天,.add(Calendar.MONTH,1)可以用Day,30