CH6时间日期和数字6.1Date类6.2Calendar类6.3Math类6.4BigInteger类6.1Date类Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如:SatApr2821:59:38CST2001。可以使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat的一个常用构造方法:publicSimpleDateFormat(Stringpattern)该构造方法可以用参数pattern指定的格式创建一个对象。6.1Date类pattern中含有一些特殊意义字符,这些特殊的字符被称做元字符,例如:y或yy、yyyy表示用2位、4位数字输出年份。M或MM表示用2位数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如:MMM。d或dd表示用2位数字输出日。H或HH表示用2位数字输出小时。m或mm表示用2位数字输出分。s或ss表示用2位数字输出秒。E表示用字符串输出星期。6.1Date类示例6.1importjava.util.Date;importjava.text.SimpleDateFormat;classExampleSimpleDateFormat{publicstaticvoidmain(Stringargs[]){DatenowTime=newDate();System.out.println(nowTime);SimpleDateFormatmatter1=newSimpleDateFormat("'time':yyyy年MM月dd日E北京时间");System.out.println(matter1.format(nowTime));6.1Date类示例6.1SimpleDateFormatmatter2=newSimpleDateFormat("北京时间:yyyy年MM月dd日HH时mm分ss秒");System.out.println(matter2.format(nowTime));Datedate1=newDate(1000),date2=newDate(-1000);System.out.println(matter2.format(date1));System.out.println(matter2.format(date2));System.out.println(newDate(System.currentTimeMillis()));}}6.1Date类6.1Date类示例6.1运行结果图6.2Calendar类Calendar类在java.util包中。使用Calendar类的static方法getInstance()可以初始化一个日历对象,如:Calendarcalendar=Calendar.getInstance();calendar对象可以调用方法:set(intyear,intmonth,intdate)set(intyear,intmonth,intdate,inthour,intminute)set(intyear,intmonth,intdate,inthour,intminute,intsecond)将日历翻到任何一个时间,当参数year取负数时表示公元前。6.2Calendar类calendar对象调用方法:publicintget(intfield)可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:calendar.get(Calendar.MONTH);返回一个整数,如果该整数是0表示当前日历是一月,该整数是1表示当前日历是二月。calendar对象调用publiclonggetTimeInMillis()可以将时间表示为毫秒。6.2Calendar类示例6.2importjava.util.*;classExampleCalendarDayNumber{publicstaticvoidmain(Stringargs[]){Calendarcalendar=Calendar.getInstance();calendar.setTime(newDate());String年=String.valueOf(calendar.get(Calendar.YEAR)),月=String.valueOf(calendar.get(Calendar.MONTH)+1),日=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)),星期=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);inthour=calendar.get(Calendar.HOUR_OF_DAY),minute=calendar.get(Calendar.MINUTE),second=calendar.get(Calendar.SECOND);6.2Calendar类示例6.2System.out.println("现在的时间是:");System.out.println(""+年+"年"+月+"月"+日+"日"+"星期"+星期);System.out.println(""+hour+"时"+minute+"分"+second+"秒");calendar.set(1973,4,24);//将日历翻到1973年5月24日,注意4表示5月longtime1973=calendar.getTimeInMillis();calendar.set(2012,9,9);longtime2012=calendar.getTimeInMillis();long相隔天数=(time2012-time1973)/(1000*60*60*24);System.out.println("2012年10月9日和1973年5月24日相隔"+相隔天数+"天。");}}6.2Calendar类示例6.2运行结果图6.2Calendar类示例6.3importjava.util.*;classExampleCalendarPage{publicstaticvoidmain(Stringargs[]){intMonthDAY[]={0,31,28,31,30,31,30,31,31,30,31,30,31};intyear=2012,month=10,day=1;intOneNumber=9;System.out.println("");Sys...