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中add()和roll()函数的用法相关推荐

  1. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  2. python中split的用法取第二个分片_python中split()函数的用法

    函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串.通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(li ...

  3. mysql timestamp 差值_MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法(两个日期之间的差值)...

    MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法 在应用时,经常要使用这两个函数TIMESTAMPDIFF和TIMESTAMPADD. 一,TIMESTAMPDIFF 语法: ...

  4. matlab repmate,MATLAB中“repmat”与“cat”函数的用法

    MATLAB中"repmat"与"cat"函数的用法 1. repmat函数 >> z=repmat(5,2,3) z = 5 5 5 5 5 5 ...

  5. python items函数用法,Python中dictionary items()系列函数的用法实例

    本文实例讲述了Python中dictionary items()系列函数的用法,对Python程序设计有很好的参考借鉴价值.具体分析如下: 先来看一个示例: import html # availab ...

  6. python enumerate函数_关于python中enumerate和zip函数的用法及举例

    关于python中enumerate和zip函数的用法及举例 关于enumerate函数: enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容,但实际上,enumerate函数实际返 ...

  7. C++中有关queue常用函数的用法及其注意要项

    11:C++中有关queue常用函数的用法及其注意要项 #include<bits/stdc++.h> using namespace std; int main(){queue < ...

  8. “约见”面试官系列之常见面试题之第七十六篇之vue-router中的路由钩子函数基本用法 (建议收藏)

    vue-router中的路由钩子函数基本用法 路由钩子函数分为三种类型如下: 第一种:全局钩子函数. router.beforeEach((to, from, next) => { consol ...

  9. python中字符串函数的用法_python中字符串内置函数的用法介绍(代码)

    本篇文章给大家带来的内容是关于python中字符串内置函数的用法介绍(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. capitalize() 首字母大写a='somewor ...

  10. linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法

    Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...

最新文章

  1. Java基础语法运算和控制符
  2. JDBC,JdbcTemplate,JPA傻傻分不清楚
  3. BCG、阿里、百度联合发布中国互联网经济白皮书2.0,解读“中国互联网新篇章:迈向产业融合”...
  4. c++实现字符串类的封装
  5. 如何使用阿里云云解析API实现动态域名解析,搭建私有服务器
  6. 前端学习(2911):cdn的加速策略
  7. DBA一族九阳神功秘籍
  8. 阿里云服务器安全组配置-有关访问实例异常的解决办法
  9. java 读取excel文件
  10. java day56【 Mybatis 延迟加载策略 、 Mybatis 缓存、Mybatis 注解开发 】
  11. 数学_最小二乘法相关
  12. 工大瑞普Cisco路由模拟器Dynamips
  13. 微博html5版是电脑还是手机,搜狐微博推出手机触屏版 采用HTML5技术
  14. 惯导系统误差分析(一) 惯性导航系统的误差与误差源
  15. 印尼Widya Robotics携手华为云,让建筑工地安全看得见
  16. spark学习之SparkSQL
  17. 解决VMware虚拟机中没有vmnet0的情况
  18. origin做主成分分析图_Graphpad Prism也可以做主成分分析(PCA)?
  19. 【H5游戏】-整一个简单的解压小游戏【抽纸巾】
  20. Python爬取10529条《三十而已》热评,看看大家都说了些啥!

热门文章

  1. python返回对象_函数返回一个对象-python
  2. beyond compare代码比对工具
  3. 伪静态URL、静态URL和动态URL的区别
  4. 数控常见的几种国内外数控系统,你都熟悉吗
  5. 《Windows游戏编程大师技巧》一、学海无涯
  6. 基于javaweb的医院门诊收费管理系统(java+html+jdbc+mysql)
  7. ASP.NET 获取IP信息等探针
  8. 教育网系统服务器域名地址,教育网宽带dns服务器IP地址(2021年更新)
  9. AI系统可以自动生成逼真的人工星系图像
  10. python 繁体字与简体字互相转换