Date类
java.util.Date类用于表示特定的时间点(精确到毫秒),该类是通
过记录从基准时间(格林威治标准时间公元1970年1月1日00:00:00)开始到
当前时刻的时间差,即所经历的毫秒数,来实现计时。
构造方法
public Date()
public Date(long date)
例如:Date d1 = new Date(20000);
Date d2 = new Date();
常用方法
public int compareTo(Date anotherDate)
比较两个日期对象所记录的日期的前后顺序
public boolean equals(Object obj)
比较两个日期的等价性
public long getTime()
返回自基准时间点到当前时刻(当前对象表示的时间点)所经历的毫秒数
public String toString()
将当前时刻转换为字符串形式返回,其格式为:“星期 月份 日期 小时:
分钟:秒 时区 年份”
Calendar类
java.util.Calendar类是Date类的一个增强版,该类提供了常规的日
期修改功能和国际化支持,以及对日历操作提供方便。
将Calendar比喻为墙上挂着的带日历功能的电子时钟
Calendar类是一个抽象类,可以调用其静态方法getInstance()来获得该类
的实例(实际上是其子类的实例):Calendar c=Calendar.getInstance();
基于当前时刻,使用默认(当前操作系统的)时区和语言环境获得的一个
Calendar对象。
public void set(int field,int value)
将参数field指定的时间域(年、月、日、时、分、秒等)设置为参数value
指定的值。field可为:Calendar.YEAR、Calendar.MONTH、Calendar.HOUR
等
public final void set(int year,int month,int date)
设置当前日历的“年、月、日”三个时间域的值。
public final void set(int year,int month,int date,int
hourOfDay,int minute,int second)
设置日历的“年、月、日、时、分、秒”等时间域的值。
public abcstract void add(int field,int amount)
为当前日历的指定时间域添加或减去指定的时间量。
Calendar c = Calendar.getInstance();
display(c);
c.set(Calendar.YEAR,2009); c.set(Calendar.MONTH,4);
c.set(Calendar.DATE,30); display(c);
c.set(2009,8,12);
display(c);
c.set(2009, 8, 12, 10, 23, 15);
display(c);
c.add(Calendar.MONTH,2);
display(c);
Date d = c.getTime();
System.out.println(d);
属性Calender.HOUR标记的时间域“小时”是12小时制的,要想获得24小时
制的数值,则必须使用Calender.HOUR_OF_DAY来标记。
从Calender获取的月份信息值是从0开始的,即一月份的时间域获取值为0,
因此display方法中将该字段的值加1已以得到实际的月份数。
DateFormat类
java.text.DateFormat类提供了将日期/时间信息进行格式化处理的
功能,主要是将日期/时间信息(Date类型数据)转换成人们所习惯的格式
字符串以及反向转换的功能。
public static final DateFormat getDateInstance() 获得一个具有默认
语言环境、默认格式化风格的DateFormat对象。
public static final DateFormat getDateInstance(int style,Locale
aLocale)获得具有给定语言环境、给定格式化风格的DateFormat对象。
public static final DateFormat getTimeInstance()
获取具有默认语言环境、默认格式化风格的日期/时间DateFormat对象。
public final String format(Date date)
将一个Date对象格式化为日期/时间字符串。
DateFormat类中定义了相应的整型常量来标识各种转换风格,包括:
DateFormat.SHORT、DateFormat.MEDIUM、DateFormat.LONG、
DateFormat.FULL。
Locale locale1=new Locale(“zh”,”CN”);根据指定的语言和国家/地区
构造一个语言环境Locale对象
语言 代码
Chinese zh
English en
French fr
German de
Italian it
Japanese ja
Spanish sp
国家/地区 代码
China CN
Taiwan TW
Germany DE
Great Britain GB
Italy IT
Japan JP
Span SP
United States US
SimpleDateFormat类
java.text.SimpleDateFormat类是DateFormat类的子类,它方便用户
自己定义日期、时间表示格式,并提供更灵活的日期和字符串信息转换和解
析的功能。
SimpleDateFormat类的使用。
Locale locale1; SimpleDateFormat sdf1,sdf2;
Date d=new Date(); locale1 = new Locale("zh","CN");
sdf1 = new SimpleDateFormat();
sdf2 = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
System.out.println(sdf2.format(d));
模式串中可以包含模式符以外的字符或字符串,如“年”、“月”、“日”
等字符,这些字符或字符串在转换过程中将被原样保留;
如果要在模式串中包含字母(a~z,A~Z)且不希望其被当做模式符转换掉,
则可以将其用半角单引号“‘”括起来;
由于单引号已被用作分隔标记,如果在模式串中要作为普通字符来包含它,
就需要使用两个连续的半角单引号(“''”,注意这不同于一个双引号)来
代替。例如,"'On' yyyy-MM-dd HH 'o''clock,We tesed it.'"
基本数学功能类Math
java.lang.Math类提供了常用的数学运算功能和数学常量,其中的属
性和方法均被定义为public和static的,因此不需要创建Math的实例即可直
接访问或调用。
public static double random()
生成double型随机数,其取值区间为[0.0,1.0)
例如,int i=(int)(Math.random()*100);生成0~99之间的随机整数
数据格式化工具类
java.text.NumberFormat:所有数据格式的抽象基类
功能:提供了将数字(包括整型和浮点型)格式化为符合特定语言环境
(Locale)表示习惯的字符串以及逆向解析字符串为数字的功能。
public static final NumberFormat getInstance()
返回当前默认语言环境的通用数字格式对象。
public static NumberFormat getInstance(Locale intLocale)
返回指定语言环境的通用数字格式对象。
public final String format(double number)
格式化指定的数据,返回格式化字符串。
public static final NumberFormat getCurrencyInstance()
返回默认语言环境的货币格式对象。
public static final NumberFormat getCurrencyInstance(Locale
inLocale)
返回默认语言环境的货币格式对象。
public static final NumberFormat getPercentInstance()
返回当前默认语音那环境的百分比格式对象。
public static NumberFormat getPercentInstance(Locale inLocale)
返回指定语言环境的百分比格式对象。
java.text.DecimalFormat:是NumberFormat的子类
功能:用于格式化各种形式的十进制数据(整数、浮点数、科学记数法表示
的数据、百分数和金额(如$20)等)为当前语言环境相关的字符串表示形式
以及反向的解析操作。
public DecimalFormat()
使用默认模式语言环境创建DecimalFormat对象
public DecimalFormat(String pattern)
给定模式和默认语言环境创建DecimalFormat对象