赞
踩
#终于下决心写博客
最近感觉有些堕落,想学点东西也学不进去,所以下定决心写点博客,希望能够进行一些技术积累!
今天项目里面写到一个日历小控件,要求按月进行变化显示。如下所示:
所以研究了一下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));
Calendar的 add() 和 set() 方法很有用处,下面举一个 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 表示该字段值的 变化的量
如:field如果是月,value值为3 ,就表示当前日期加上3个月。
set()源码:
public void set(int field,int value)
-field 被改变的字段
-value 该值被直接赋值与上面的日历字段
如:field如果是日,value值为1 ,就表示设置当前日期为1号。
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号
这就是我的第一篇博客了,写一下感觉还是有些用处的。第一次写,没有经验,水平也有限,希望各位博友多多指教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。