Calendar类,是对时间的操作,用于创建日历和管理事项。
User-timer有几个关键时间节点,司机在冻结状态时的时间节点是30天、60天,60天后自动转换成待解约状态,时间节点是24个月。之后自动转换成解约状态。
这里的时间节点的设置可以用Calendar类。
Calendar用法大致有以下几种:
1.初始化
//初始化一个Calendar对象,使用Calendar获取当前系统时间,需要获取Calendar对象后转换成Date输出
Calendar calendar = Calendar.getInstance();
2.设置时间
// 使用Calendar和数字设置月,注意月份从0开始,代表1月
//设置年:Calendar.YEAR,设置日:Calendar.DAY_OF_MONTH,设置小时:Calendar.HOUR,以此类推
calendar.set(Calendar.MONTH, 0);
System.out.println(calendar.getTime());
需要注意一点的是,Calendar类还有个add()方法,与set有点相似,但是它们的不同之处是对日期的变化不太一样:
set()是单纯地设置日期,若日期不存在,则会向下移动。而add()的移动的是日期的偏移量。
比如:
set:2016/11/31 3个月前的日期是 2016/09/01
add:2016/11/31 3个月前的日期是 2016/08/31
在user timer里,用add()方法把这些时间节点加进去,用当前时间和设置的时间节点进行比对,若到达了时间节点,则进而执行相应操作。
先粗略了解下,不对Calendar的效率和响应时间等等性能进行分析。以后有机会再详细了解。