java第六章时间日期数字预习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章时间、日期和数字
6.1Date类
Datea=newDate();
(1)Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。
例如:SatApr2821:59:38CST2001
(2)我们可能希望按着某种习惯来输出时间,比如时间的顺序:年月星期日或年月星期日小时分秒。
这时可以使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法:publicSimpleDateFormat(Stringpattern)。
该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用
format(Datedate)
方法格式化时间对象date。需要注意的是,pattern中应当含有一些有效的字符序列。例如:
●y或yy表示用两位数字输出年份yyyy表示用4位数字输出年份。
●M或MM表示用两位数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如MMM。
●d或dd表示用两位数字输出日。
●H或HH表示用两位数字输出小时。
●m或mm表示用两位数字输出分。
●s或ss表示用两位数字输出秒。
●E表示用字符串输出星期。在下面的例子dateformat.java中,我们用3种格式输出时间。
(3)Java日期时间及其格式化可以用System类的静态方法publicstaticlongcurrentTimeMillis()获取系统当前时间,这个时间是从1970年1月1日0点到目前时刻所走过的毫秒数(这是一个不小的数)。
另外,也可以根据currentTimeMillis()方法得到的数字,用Date 的构造方法Date(longtime)来创建一个Date对象。
在下面的例子6.1中,用三种格式输出时间。
例子6.1:(效果如图)
importjava.util.Date;
importjava.text.SimpleDateFormat;
classExample6_1
{
publicstaticvoidmain(Stringargs[])
{
DatenowTime=newDate();
System.out.println(nowTime);
SimpleDateFormatmatter1=newSimpleDateFormat("'time': yyyy年MM月dd日E北京时间");
System.out.println(matter1.format(nowTime));
SimpleDateFormatmatter2=newSimpleDateFormat("北京时间:yyyy年MM月dd日HH时mm分ss秒");
System.out.println(matter2.format(nowTime));
Datedate1=newDate(1000);
Datedate2=newDate(-1000);
System.out.println(matter2.format(date1));
System.out.println(matter2.format(date2));
System.out.println(newDate(System.currentTimeMillis()));
}
}
6.2Calendar类
(1)Calendar类在java.util包中,使用Calendar类的static方法getlnstance()可以初始化一个日历对象,如:
Calendarcalendar=Calendar.getlnstance();
然后,calendar对象可以调用方法:
publicfinalvoidset(intyear,intmonth,intdate)
publicfinalvoidset(intyear,intmonth,intdate,inthour,intminute)
publicfinalvoidset(intyear,intmonth,ihtdate,inthour;intminute,intsecond)
(2)将日历翻到任何一个时间,当参数year取负数时表示公元前
calendar对象调用方法:
publicintget(intfield)
(3)可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:
calendar.get(Calendar.MONTH);
返回一个整数,如果该整数是0,表示当前日历是在一月;该整数是1,表示当前日历是在二月等。
(4)日历对象调用:
publiclonggetTimelnMillis()
可以将时间表示为毫秒。
下面的例子rili.java使用Calendar来表示时间。并计算了2003年和1962年之间相隔的天数。注意周一是星期0
下面的例子monthli输出2004年1月的日历页。
6.3Math类
在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等。ng包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用另外,Math类还有两个静态常量E和PI,它们的值分别是 2.7182828284590452354和3.14159265358979323846。