Calendar类--字段操作相关

本文介绍了如何使用Java中的Calendar API来调整日期。重点对比了roll()和add()两种方法的区别,通过实例说明了如何实现向前一周的日期调整。

可以使用三种方法更改日历字段:set()add()roll()。其中,set()方法用来设置日历的字段值。本次主要记录一下add()方法和roll()方法。

一、roll()方法

帮助文档中:[roll(f, delta)delta 添加到 f 字段中,但不更改更大的字段。]

我遇到的问题:当前日期为2008-05-01,我想把日历调整为一周前的日期(2008-4-24)。一开始调用的是roll()方法,但得到的结果为:2008-05-29。

代码:calendar.roll(Calendar.WEEK_OF_MONTH, -1);

方法中要滚动的字段为week,所有月份不会发生改变。(但为什么会出现2008-05-29这个日期还不是太清楚)

二、add()方法

帮助文档中:[add(f, delta)delta 添加到 f 字段中。 ]

[ Add 规则 1。调用后 f 字段的值减去调用前 f 字段的值等于 delta,以字段 f 中发生的任何溢出为模。溢出发生在字段值超出其范围时,结果,下一个更大的字段会递增或递减,并将字段值调整回其范围内。]

现在将[ calendar.roll(Calendar.WEEK_OF_MONTH, -1); ]修改为:[ calendar.add(Calendar.WEEK_OF_MONTH, -1); ]

这样就能正确得出:(2008-4-24)这个日期。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值