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

  • 相关阅读:
    underscore.js,jquery.js源码阅读
    css3动画知识点
    ajax防止重复提交
    jquery data属性的使用
    文字换行
    vue的生命周期
    iphone与安卓的兼容性问题汇总
    python 上下文管理器
    form 校验
    常用的字段和字段参数
  • 原文地址:https://www.cnblogs.com/softidea/p/5767912.html
Copyright © 2011-2022 走看看