zoukankan      html  css  js  c++  java
  • Calendar中add函数和roll函数的用法及区别

    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中的Month是从0-11的,0代表1月,11代表12月。

    http://blog.sina.com.cn/s/blog_62c89b450100sau9.html

  • 相关阅读:
    2018-11-28笔记
    2018-11-27笔记
    2018-11-26笔记
    DBUtils和连接池
    动态页面技术(JSP/EL/JSTL)
    会话技术Cookie&Session
    JavaEE—— HttpServletRequest
    JavaEE—— HttpServletResponse
    JavaWeb核心之Servlet
    JavaEE——HTTP协议和Tomcat服务器
  • 原文地址:https://www.cnblogs.com/softidea/p/5767912.html
Copyright © 2011-2022 走看看