Calendar的add和set方法的运用和区别
2017-02-23 19:47
274 查看
终于下决心写博客
最近感觉有些堕落,想学点东西也学不进去,所以下定决心写点博客,希望能够进行一些技术积累!
今天项目里面写到一个日历小控件,要求按月进行变化显示。如下所示:
所以研究了一下Calendar,实现方法如下:
Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); /**重点是下面这句, “-1”表示时间减一个月 若想按年修改只需将第一个参数修改为Calendar.YEAR,确定好第一个参数后,只需按需修改第二个参数就可以实现日期的增减。 区别于set(); */ calendar.add(Calendar.MONTH, -1);//在当前日期上 减一 Date newTime = calendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");//将日期格式化xxxx年xx月的样式 tv_date.setText(sdf.format(newTime));
Caledar有的add()和set()方法很有用处,如获取当月第一天的方法:
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH,1);//第二个参数设置为1,当前设置日期为本月1号 String firstDay = sdf.format(calendar.getTime()); textview.setText(firstDay)
add()源码:
public abstract void add(int field, int value); -第一个参数 field 表示日历字段 即:年 月 日 -第二个参数 value 表示该字段值的 变化的量 如:字段如果是月,value值为3 ,就表示设置月份为3月。
set()源码:
public void set(int field,int value) -field 被改变的字段 -value 该值被直接赋值与上面的日历字段
set((int field, int value))方法区别于add(int field, int value),set()有好几个重载的方法,这里只说和add()同参的。
-set 表示直接设值 不考虑原来的时间值 -add 表示在原有的基础上进行加减value
calendar.add(Calendar.DAY_OF_MONTH, 2);//表示在默认的当前日期上加两天 calendar.set(Calendar.DAY_OF_MONTH,2);//表示直接将日期设置为本月2号
这就是我的第一篇博客了,写一下感觉还是有些用处的。第一次写,没有经验,水平也有限,希望各位博友多多指教。
b247
相关文章推荐
- java中的get与set和add方法在概念上的区别
- Calendar类中add/set/roll方法的区别
- arraylist中set(index,object)与add(index,object)方法的区别
- memcache中的add和set方法区别
- Calendar类的add()和set()方法
- Calendar类的add()和set()方法
- Java基础知识强化95:Calendar类之Calendar类的add()和set()方法
- java 学习之List 的 add 与set方法区别
- Calendar.set方法设定日和add方法设偏离值
- java Calendar roll 和add 方法的区别
- memcache中的add和set方法区别
- 常见对象_Calendar类的add()和set()方法
- XMemcachedClient实例的add方法和set方法区别
- XMemcachedClient实例的add方法和set方法区别
- XMemcachedClient实例的add方法和set方法区别
- java源码研究--List中的set和add方法区别
- JAVAAPI学习之Calendar类;Calendar类set()、add()、roll()方法区别
- XMemcachedClient实例的add方法和set方法区别
- java 学习之List 的 add 与set方法区别
- arraylist中set(index,object)与add(index,object)方法的区别