使用Calendar 获取日期和时间的问题

网上转载

开始使用new Date()测试,并用通过date.getMonth(),和date.getDay()获取,不过后来发现这两个访求是jdk1.1版本的,现在已经不用了,而且结果也不正确.

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 CD = Calendar.getInstance(); int YY = CD.get(Calendar.YEAR) ; int MM = CD.get(Calendar.MONTH)+1; int DD = CD.get(Calendar.DATE); int HH = CD.get(Calendar.HOUR); int NN = CD.get(Calendar.MINUTE); int SS = CD.get(Calendar.SECOND); int MI = CD.get(Calendar.MILLISECOND);

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);

 

WEEK_OF_MONTH       某月第几周,严格以星期的起止算。比如这个月3号才是周一,那3号才算第1周,2号不算。以星期为标准 DAY_OF_WEEK_IN_MONTH    某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。以月份天数为标准。


int am = calendar.get(Calendar.AM);
int pm = calendar.get(Calendar.PM); //这2行是误用,AM和PM是作为值的常量
正确用法
int r = calendar.get(Calendar.AM_PM);//询上午还是下午
if(r==Calendar.AM)//如果上午
if(r==Calendar.PM)//如果下午

posted @ 2013-07-23 17:09  伪•学徒模式  阅读(503)  评论(0编辑  收藏  举报