Calendar rightNow = Calendar.getInstance();
int month =rightNow.MONTH;
int day = rightNow.DAY_OF_MONTH;结果是month为2,而day为5,和现在的日期4.26没有关系
我然后用System.out.println(rightNow);,不过输出的很多内容里面的MONTH和DAY_OF_MONTH是对的
后来,在网上查找,不能这么用
应该用
int month = (date.get(Calendar.MONTH))+1;
int day = date.get(Calendar.DAY_OF_MONTH);获取当前的月份和日期
试了一下,果然正确
后来查看java doc文档,MONTH字段解释如下
Field number for get and set indicating the month. This is a calendar-specific value. The first month of the year is JANUARY which is 0; the last depends on the number of months in a year.
这个字段的值只是说明get()的属性字段值,来获取month的
以下为获取其它:
Calendar cal = Calendar.getInstance();
//当前年
int year = cal.get(Calendar.YEAR); //当前月 int month = (cal.get(Calendar.MONTH))+1; //当前月的第几天:即当前日 int day_of_month = cal.get(Calendar.DAY_OF_MONTH); //当前时:HOUR_OF_DAY-24小时制;HOUR-12小时制 int hour = cal.get(Calendar.HOUR_OF_DAY); //当前分 int minute = cal.get(Calendar.MINUTE); //当前秒 int second = cal.get(Calendar.SECOND); //0-上午;1-下午 int ampm = cal.get(Calendar.AM_PM); //当前年的第几周 int week_of_year = cal.get(Calendar.WEEK_OF_YEAR); //当前月的第几周 int week_of_month = cal.get(Calendar.WEEK_OF_MONTH); //当前年的第几天 int day_of_year = cal.get(Calendar.DAY_OF_YEAR);// 前一个月
SimpleDateFormat sdf = new SimpleDateFormat("MM");
Calendar cal = Calendar.getInstance(); cal.add(Calendar.MONTH, -1); System.out.println(sdf.format(cal.getTime()));