java——时间函数Calendar中add函数和roll函数的用法及区别

//    Calendar中add()和roll()函数的用法
//        一、取某个时间点后的整点时刻。例如1984年7月7日15:23:05后的整点时刻即为1984-07-07 16:00:00。
//        实现如下:
//        Calendar calendar = Calendar.getInstance();
//        calendar.add(Calendar.HOUR_OF_DAY, 1);//小时上加1
//        calendar.set(Calendar.MINUTE, 0);//分钟设为0
//        calendar.set(Calendar.SECOND, 0);//秒钟设为0
//
//        二、取某个日历之前的某个月。例如要取2002年1月12号之前1个月的时间,应该是2001年12月12日。
//        Calendar calendar = Calendar.getInstance();
//        calendar.set(2002, 0, 12);//代表2002年1月12日
//        calendar.add(Calendar.MONTH, -1);//这样就将日期设置成了2001年12月12日。
//        System.out.println(calendar.getTime().toString());
//
//        但是这种情况如果用roll()来实现。如以下代码:
//        Calendar calendar = Calendar.getInstance();
//        calendar.set(2002, 0, 12);//代表2002年1月12日
//        calendar.roll(Calendar.MONTH, -1);//这样就将日期设置成了2002年12月12日。
//        System.out.println(calendar.getTime().toString());

//        结论:roll()函数处理,只会将相应的字段进行处理,不会智能的对其它字段也进行逻辑上的改变。但是add()函数会在逻辑上改变其它字段,使结果正确。
//        注:Calendar中的Month是从0-11的,0代表1月,11代表12月。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值