选择显示字体大小

实用工具类库java.util(1)

java的实用工具类库java.util包中,java提供了一些实用的方法和数据结构。 例如,java提供日期(data)类、日历(calendar)类来产生和获取日期及时间,提供随机数(random)类产生各种类型的随机数,还提供了堆栈(stack)、向量(vector) 、位集合(bitset)以及哈希表(hashtable)等类来表示相应的数据结构。

图1给出了java.util包的基本层次结构图。下面我们将具体介绍其中几个重要的类。



 ┌java.util.bitset

 │java.util.calendar

 │└java.util.gregoriancalendar

 │java.util.date

 │java.util.dictionary

 │└java.util.hashtable

 │ └java.util.properties

 │java.util.eventobject

 │java.util.resourcebundle

 ┌普通类┤├java.util.listresourcebundle

 │ │└java.util.propertyresourcebundle

 │ │java.util.local

 │ │java.util.observable

 │ │java.util.random

 │ │java.util.stringtokenizer

 │ │java.util.vector

 │ │└java.util.stack

java.util┤ └java.util.timezone

 │└java.util.simpletimezone

 │ ┌java.util.enumeration

 ├接 口┤java.util.eventlistener

 │ └java.util.observer

 │ ┌java.util.emptystackexception

 └异常类┤java.util.missingresourceexception

 │java.util.nosuchelementexception

 └java.util.toomanylistenersexception

 图1 java.util包的基本层次结构

日期类date

java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间。date类中有很多方法在jdk1.0公布后已经过时了,在下文中我们将介绍jdk1.0中新加的用于替代date的功能的其它类。在日期类中共定义了六种构造函数:

(1)public date()

创建的日期类对象的日期时间被设置成创建时刻相对应的日期时间。

例 date today=new date();//today被设置成创建时刻相对应的日期时间。

(2)public date (long date)

long 型的参数date可以通过调用date类中的static方法parse(string s)来获得。

例 long l=date.parse("mon 6 jan 1997 13:3:00");

date day=new date(l);

//day中时间为1997年 1月6号星期一,13:3:00。

(3)public date(string s)

按字符串s产生一日期对象。s的格式与方法parse中字符串参数的模式相同。

例 date day=new date("mon 6 jan 1997 13:3:00");

//day 中时间为1997年1月6号星期一,13:3:00.

(4)public date(int year,int month,int date)

(5)public date(int year,int month,int date,int hrs,int min)

(6)public date(int year,int month,int date,int hrs,int min,int sec)

按给定的参数创建一日期对象。

参数说明:

year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以date中可设定的年份最小为1900;

month的值域为0~11,0代表1月,11表代表12月;

date的值域在1~31之间;

hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;

min和sec的值域在0~59之间。

例 date day=new date(11,3,4);

//day中的时间为:04-apr-11 12:00:00 am

另外,还可以给出不正确的参数。

例 设定时间为1910年2月30日,它将被解释成3月2日。

date day=new date(10,1,30,10,12,34);

system.out.println("day´s date is:"+day);

//打印结果为:day´s date is:web mar 02 10:13:34 gmt+08:00 1910

下面我们给出一些date类中常用方法。

(1)public static long utc(int year,int month,int date,int hrs. int min,int sec)

该方法将利用给定参数计算utc值。utc是一种计时体制,与gmt(格林威治时间)的计时体系略有差别。utc计时体系是基于原子时钟的,而gtmt计时体系是基于天文学观测的。计算中使用的一般为gmt计时体系。

(2)public static long parse(string s)

该方法将字符串s转换成一个long型的日期。在介绍构造方法date(long date)时曾使用过这个方法。字符串s有一定的格式,一般为:

(星期 日 年 时间gmt+时区)

若不注明时区,则为本地时区。

(3)public void setmonth(int month)

(4)public int getmonth()

这两个方法分别为设定和获取月份值。获取的月份的值域为0~11,0代表1月,11代表12月。

(5)public string tostring()

(6)public string tolocalstring()

(7)public string togmtstring()

将给定日期对象转换成不同格式的字符串。它们对应的具体的格式可参看例子1。

(8)public int gettimezoneoffset()

该方法用于获取日期对象的时区偏移量。

例1中对上面介绍的date类中的基本方法进行了具体的应用,并打印了相应的结果。由于使用了一些过时的方法,所以编译时会有警告信息。另外,由于本例中的时间表示与平台有关,不同的jdk版本对此处理不完全相同,因此不同版本的jdk执行本例的结果可能有细微差异。

例1 dateapp.java

import java.lang.system;

import java.util.date;

public class dateapp{

 public static void main(string args[]){

date today=new date();

//today中的日期被设成创建时刻的日期和时间,假设创建时刻为1997年3月

//23日17时51分54秒。

system.out.println("today´s date is "+today);

//返回一般的时间表示法,本例中结果为

//today´s date is fri may 23 17:51:54 1997

system.out.println("today´s date(inte.net gmt)is:"

 +today.togmtstring());

//返回结果为gmt时间表示法,本例中结果为

//today´s date(inte.net gmt)is: 23 may 1997 09:51:54:gmt

system.out.println("today´s date(locale) is:"

 +today.tolocalestring());

//返回结果为本地习惯的时间表示法,结果为

//today´s date(locale)is:05/23/97 17:51:54

system.out.println("today´s year is: "+today.getyear());

system.out.println("today´s month is: "+(today.getmonth()+1));

system.out.println("today´s date is: "+today.getdate());

//调用date类中方法,获取年月日的值。

//下面调用了不同的构造方法来创建date类的对象。

date day1=new date(100,1,23,10,12,34);

system.out.println("day1´s date is: "+day1);

date day2=new date("sat 12 aug 1996 13:3:00");

system.out.println("day2´s date is: "+day2);

long l= date.parse("sat 5 aug 1996 13:3:00 gmt+0800");

date day3= new date(l);

system.out.println("day3´s date(gmt)is: "+day3.togmtstring());

system.out.println("day3´s date(locale)is: "

 +day3.tolocalestring());

system.out.println("day3´s time zone offset is:"

 +day3.gettimezoneoffset());

 }

}

运行结果(jdk1.3版,与原文不同,原文是jdk1.0版):

e:java utorialjava01>java dateapp

today´s date is thu dec 27 17:58:16 cst 2001

today´s date(inte.net gmt)is:27 dec 2001 09:58:16 gmt

today´s date(locale) is:2001-12-27 17:58:16

today´s year is: 101

today´s month is: 12

today´s date is: 27

day1´s date is: wed feb 23 10:12:34 cst 2000

day2´s date is: fri aug 12 13:03:00 cst 1996

day3´s date(gmt)is: 5 aug 1996 05:03:00 gmt

day3´s date(locale)is: 1996-8-5 13:03:00

day3´s time zone offset is:-480

e:java utorialjava01>


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons