您的位置:首页 > 编程语言 > Java开发

Java.util包简介并教您如何开发应用之二-Java基础-Java-编程开发

2008-05-20 05:40 926 查看
google_ad_client = "pub-8800625213955058";

/* 336x280, 创建于 07-11-21 */

google_ad_slot = "0989131976";

google_ad_width = 336;

google_ad_height = 280;

//

读完了Java.util包简介并教您如何开发应用之一接下来我们继续介绍Java的实用工具类库Java.util包。在这个包中,Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、日历(Calendar)类来产生和获取日期及时间,提供随机数(Random)类产生各种类型的随机数,还提供了堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构。图1给出了Java.util包的基本层次结构图。下面我们将具体介绍其中几个重要的类。

1.2 日期类Date

Java在日期类中封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统时间或设置日期和时间。Date类中有很多方法在JDK1.0公布后已经过时了,在8.3中我们将介绍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() 将给定日期对象转换成不同格式的字符串。它们对应的具体的格式可参看例子8.1。

(8)public int getTimezoneOffset() 该方法用于获取日期对象的时区偏移量。

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

例1.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(Internet GMT)is:"
      today.toGMTString());
    //返回结果为GMT时间表示法,本例中结果为

    //Today's date(Internet 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版):

E:/java/tutorial/java01>java DateApp
Today's date is Thu Dec 27 17:58:16 CST 2001
Today's date(Internet 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/tutorial/java01>

[1]

[2]

[3]

[4]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: