首先对于Calendar类来说,它依然属于抽象类,所以还是无法直接new对象,同样我们可以查询API文档,发现同样提供了一个方法给我们,让我们可以使用就是getInstance,这个方法的作用就是使用默认时区和语言环境获得一个日历。而对于Calendar来说就是日历,之前是使用Date类里面的方法来进行提取字段,但是由于Date不符合国际化使用,所以才出现了Calendar类来取代Date类里面的部分功能,同时利于国际化推广。
首先大家来看一段代码:
public class CalendarDemo { public static void main(String[] args) { Calendar c = Calendar.getInstance(); System.out.println(c); } }
显示结果如下:
java.util.GregorianCalendar[time=1405568492623,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=”Asia/Shanghai”,offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2014,MONTH=6,WEEK_OF_YEAR=29,WEEK_OF_MONTH=3,DAY_OF_MONTH=17,DAY_OF_YEAR=198,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=11,HOUR_OF_DAY=11,MINUTE=41,SECOND=32,MILLISECOND=623,ZONE_OFFSET=28800000,DST_OFFSET=0]
以上显示的结果就是通过键值对的形式来展现的。所以当我们需要某个字段的时候,我们只需要通过某一个方法并提供键元素信息,就可以返回一个我们需要的值信息给我们。
例如:
import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { Calendar c = Calendar.getInstance(); DateShow(c); } public static void DateShow(Calendar c) { int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH)+1; int day = c.get(Calendar.DAY_OF_MONTH); String week = getWeek(c.get(Calendar.DAY_OF_WEEK)); System.out.println(year+"年"+month+"月"+day+"日"+week); } public static String getWeek(int i) { String[] week ={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; return week[i]; } }
显示的是当前年月日时间和星期,我这里显示的是:2014年7月17日星期四
所以这就是Calendar的一些使用方法,很简单,不过大家最好是能够记住,不难。
评论前必须登录!
注册