Java Calendar类时间跨年操作请注意事项
使用roll(Calendar.WEEK_OF_YEAR, false)时,时间的范围仅在当前Calendar所在的年,跨年时无法推进到其它年度,例如向前推七天,这时只能使用add(Calendar.DAY_OF_YEAR, -7)或add(Calendar.WEEK_OF_YEAR, -1)。
?
roll(f, delta) 将 delta 添加到 f 字段中,但不更改更大的字段。
voidroll(int?field, boolean?up) ??????????在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。
?voidroll(int?field, int?amount) ??????????向指定日历字段添加指定(有符号的)时间量,不更改更大的字段。
?
<!-- Generated by javadoc (build 1.6.0-beta2) on Mon Mar 19 18:26:15 CST 2007 -->
<noscript></noscript>add(f, delta) 将 delta 添加到 f 字段中。这等同于调用 set(f, get(f) + delta),但要带以下两个调整:
Add 规则 1。调用后 f 字段的值减去调用前 f 字段的值等于 delta,以字段 f 中发生的任何溢出为模。溢出发生在字段值超出其范围时,结果,下一个更大的字段会递增或递减,并将字段值调整回其范围内。
abstract ?voidadd(int?field, int?amount)
??????????根据日历的规则,为给定的日历字段添加或减去指定的时间量。?