本文主要是介绍获取当月天数的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Calendar类实例化的对象 能点用诸多方法。
其中 有
cld.get(field);
set(field, value);
roll(field, amount);
三个方法。
- cld.get(field);
field字段填写日历中的时间段,比如Calendar.DATE、Calendar.MONTH、Calendar.YEAR,DAY_OF_WEEK、DAY_OF_MONTH等。
返回一个int类型的值。
比如要获取今天是几号,实现如下:
Calendar cld = Calendar.getInstance();
int today = cld.get(Calendar.DATE);
要获取今天是本周第几天,实现如下:
Calendar cld = Calendar.getInstance();
int today = cld.get(Calendar.DAY_OF_WEEK);
- set(field, value);
field字段填写日历中的时间段,比如Calendar.DATE、Calendar.MONTH、Calendar.YEAR等。
value字段填写field字段要设置的值。
比如将今天设为1号,实现如下:
Calendar cld = Calendar.getInstance();
cld.set(Calendar.DATE, 1);//将今天设为1号
- cld.roll(field, amount);
field字段填写日历中的时间段,比如Calendar.DATE、Calendar.MONTH、Calendar.YEAR等。
amount字段填写field字段要增加或减少的天数数值。
比如 今天是 6月23日
将今天向前提3天,要得到6月20日,实现如下:
Calendar cld = Calendar.getInstance();
cld.roll(Calendar.DATE, -3);//回滚3天
将今天向后推3天,要得到6月26日,实现如下:
Calendar cld = Calendar.getInstance();
cld.roll(Calendar.DATE, 3);//3天
需要注意的是:
这个方法只对指定的月有效。意思就是:
假如今天是 6月1日,如果你进行了如下操作:
Calendar cld = Calendar.getInstance();
cld.roll(Calendar.DATE, -3);//回滚3天
得到的不是5月29日,而是6月的28日。
根据下面的代码和输出结果理解一下:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public class Test {public static void main(String[] args) {Calendar cld = Calendar.getInstance();//获取今天的日期 ----- 6.23int today = cld.get(Calendar.DATE);System.out.println("今天是"+today+"号");//将今天设置为本月1号 ------6.1cld.set(Calendar.DATE, 1);//将今天设为1号int today1 = cld.get(Calendar.DATE); System.out.println("现在,今天是"+today1+"号");//回1号的到三天前cld.roll(Calendar.DATE, -3);int today2 = cld.get(Calendar.DATE); System.out.println("1号的3天前,是"+today2+"号");cld.set(Calendar.DATE, today);//将日期设置回今天//回到三天前cld.roll(Calendar.DATE, -3);int today3 = cld.get(Calendar.DATE); System.out.println("3天前,是"+today3+"号");cld.set(Calendar.DATE, today);//将日期设置回今天//去三天后cld.roll(Calendar.DATE, 3);int today4 = cld.get(Calendar.DATE); System.out.println("3天后,是"+today4+"号");}
}
输出结果
使用
get(field);
set(field, value);
roll(field, amount);
三个方法,就可以获得本月的天数了。
代码如下:
public static int getCurrentMonthLastDay()
{ Calendar cld = Calendar.getInstance(); cld.set(Calendar.DATE, 1);//将今天设为1号cld.roll(Calendar.DATE, -1);//日期减一天相当于回到了本月的最后一天int maxDate = cld.get(Calendar.DATE); return maxDate;
}
参考:http://blog.csdn.net/tsoTeo/article/details/73603351
这篇关于获取当月天数的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!