我知道add()
根据日历的规则将指定(签名)的时间量添加到给定的时间字段.
并roll()
在给定时间字段上添加指定(签名)的单个时间单位,而不更改更大的字段.
我想不出日常使用roll()
我会做的一切add()
.
你能在什么时候使用roll()
以及什么时候使用例子来帮助我add()
?
编辑1
Joda答案不被接受!
Boz*_*zho 52
add()
- 正如你所说,几乎总是如此roll()
- 例如,您想在一个月内"分发"事件.算法可以进行若干天并放置事件,然后继续进行.当达到月末时,它应该从头开始.因此roll()
.Men*_*nda 31
在jGuru中找到
- Calendar.roll()
更改特定单位并保持"较大"(按时间 - 比'天'更大')单位不变.API的例子是1999年8月31日的日期,由(Calendar.MONTH,8)滚动到1999年4月30日.也就是说,DAY被改为满足4月的最大值,但是"更大"的单位,YEAR,没有改变.
roll(): Rolls up 8 months here i.e., adding 8 months to Aug will result in Apr but year remains unchanged(untouched).
- Calendar.add()
如果需要,将导致下一个"更大"的单位发生变化.也就是说,给定1999年8月31日的日期,添加(Calendar.MONTH,8)产生2000年4月30日.add()也强制重新计算毫秒和所有字段.
add(): Adds months to the current date i.e., adding 8 months to Aug will give Apr of Next Year, hence forces the Year change.
小智 6
我只是问了同样的问题(这就是我发现这个页面的方式)和我工作的人(做得好,DCK)提出了一个建议:
许多智能手机(和其他类似界面)上的日期选择器将从第31天到第1天"滚动"而不改变月份,类似于月份字段.
我想不出另一个使用ATM,这个可以通过其他方式实现,但至少它是一个例子!
蒂姆