首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Calendar 运用基础

2012-06-27 
Calendar使用基础Calendar使用基础啥都说,直接看·····Calendar rightNow Calendar.getInstance() int m

Calendar 使用基础
Calendar  使用基础


啥都说,直接看·····
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);        canvas.drawText(yearMonth, (colPadding * 7) / 2 - 35, 50, tPaint);

        String[] weekStr = new String[] { "一", "二", "三", "四", "五", "六", "日"};

        for (int i = 0; i < weekStr.length; i++) {
            canvas.drawText(weekStr[i], leftPadding + i * colPadding,
                    topPadding, tPaint);
        }

        cal.set(Calendar.DATE, 1);
        int y = 1;
        rects = new ArrayList<DateRect>();
            int day = cal.get(Calendar.DATE);
            int x = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
           
            if (x == 1) {
                x = 7;
            } else {
                x = x - 1;
            }
           
            int dx = leftPadding + (x - 1) * colPadding;
            int dy = topPadding + y * rowPadding;
           
           
            rects.add(new DateRect(dx, dy, day));

                canvas.drawText(day + "", dx, dy, tPaint);
           
            if(x == 7)
            {
//              到下一行
              y = y + 1;   
            }
            cal.add(Calendar.DATE, 1);
        cal.add(Calendar.DATE, -1);

 
现在出来只有我给定的比如  2012 3月1号   出来了 请问我要把3月都画出来怎么办

热点排行