`
lizhuang
  • 浏览: 886671 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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 字段中,但不更改更大的字段。

void roll (int field, boolean up)
          在给定的时间字段上添加或减去(上/下)单个时间单元,不更改更大的字段。
 void roll (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  void add (int field, int amount)
          根据日历的规则,为给定的日历字段添加或减去指定的时间量。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics