java.util 包提供了一些实用的方法和数据结构。html
Date 类
Date 类表示日期和时间,里面封装了操做日期和时间的方法。Date 类常常用来获取系统当前时间。java
构造方法:程序员
构造方法 说明 Date() 构造一个 Date 对象并对其进行初始化以反映当前时间 Date(long date) 构造一个 Date 对象,并根据相对于 GMT 1970年1月1日00:00:00的毫秒数对其进行初始化 经常使用方法:markdown
- toString(),返回字符串,表示当前日期和时间。
- getTime(),返回long类型,表示自1970年1月1日经历的毫秒数值。
日期格式化
SimpleDateFormat数据结构
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 容许你选择任何用户自定义日期时间格式来运行。例如:dom
import java.util.*; import java.text.*; public class DateDemo { public static void main(String[] args) { Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); System.out.println("Current Date: " + ft.format(dNow)); } }
import java.util.*; import java.text.*; public class DateDemo { public static void main(String[] args) { Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); System.out.println("Current Date: " + ft.format(dNow)); } }运行结果:
时间模式字符串用来指定时间格式。在此模式中,全部的 ASCII 字母被保留为模式字母,定义以下:函数
字母 描述 示例 G 纪元标记 AD y 四位年份 2001 M 月份 July or 07 d 一个月的日期 10 h A.M./P.M.(1-12)格式小时 12 H 一天中的小时(0-23) 22 m 分钟数 30 s 秒数 55 S 毫秒数 234 E 星期几 Tuesday D 一年中的日子 360 F 一个月中第几周的周几 2(second Wed. in July) w 一年中第几周 40 W 一个月中第几周 1 a A.M./P.M.标记 PM k 一天中的小时(1-24) 24 K A.M./P.M.(0-11)格式小时 10 z 时区 Eastern Standard Time 对于时间模式字符串中的普通字符,必需要用单引号字符括起。工具
printfpost
printf 方法能够很轻松地格式化时间和日期。使用两个字母格式,它以 %t 开头而且如下面表格中的一个字母结尾。
code
Calendar 类
Calendar 类是一个抽象类,在实际使用时实现特定的子类的对象,建立对象的过程对程序员来讲是透明的,只须要使用getInstance方法建立便可。getInstance()方法返回一个默认用当前的语言环境和时区初始化的GregorianCalendar对象。Calendar类实现了公历日历,GregorianCalendar是Calendar类的一个具体实现。
Calendar类对象状态:
1表明星期日、2表明星期一、3表明星期二,以此类推。此外MONTH为0表明1月。
能够用.set(年, 月-1, 日)或.set(Calendar.DATE,10)设置对象信息。相似的还有方法.add(Calendar.DATE, 10),其它全部数值会被从新计算。此外能够用.get(Calendar.DAY_OF_WEEK)获取对象信息。
GregorianCalendar 类的构造函数:
构造方法 说明 GregorianCalendar() 建立的对象中的相关值被设置成指定时区,缺省地点的当前时间,即程序运行时所处的时区、地点的当前时间 GregorianCalendar(TimeZone zone) 建立的对象中的相关值被设置成指定时区 zone,缺省地点的当前时间 GregorianCalendar(Locale aLocale) 建立的对象中的相关值被设置成缺省时区,指定地点 aLocale 的当前时间 GregorianCalendar(TimeZone zone, Locale aLocale) year - 建立的对象中的相关值被设置成指定时区,指定地点的当前时间
TimeZone 是 java.util 包中的一个类,其中封装了有关时区的信息。每个时区对应一组 ID。类 TimeZone 提供了一些方法完成时区与对应 ID 二者之间的转换。
Locale 只是一种机制,它用来标识一个特定的地理、政治或文化区域获取一个 Locale 对象的构造方法。
Random 类
Java 实用工具类库中的类 java.util.Random 提供了产生各类类型随机数的方法,而java.lang.Math 中的方法 Random() 只产生0-1之间 double 型的随机数。
构造方法:
构造方法 说明 Random() 产生一个随机数须要基值,这里将系统时间做为 seed Random(long seed) 使用单个 long 种子建立一个新的随机数生成器
参考资料
- 实验楼:JDK 核心 API
- 菜鸟教程:Java 日期时间