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

java学习总结(16.07.18)时间日期类

2016-07-18 16:33 531 查看
java的时间日期类有三个,分别是Data类,Calendar类,SimpleDataFormat类

Data类

Data类在jdk1.0中是唯一的时间日期类,但后来由于其API不易于实现国际化,部分API被废弃,被标记为@Deprecated

Data类的构造器

Data类的构造器有两个,分别是

public Date()  //以当前时间实例化一个Data对象

public Date(long date)  //以距离格里尼治时间1970年1月1日0是的毫秒数实例化一个Data对象

Data的方法

public String toString()  //将Data实例表示的时间转化成public String toString()格式的字符串来表示时间

public long getTime()//==   //返回Data实例表示的时间离格里尼治时间1970年1月1日0是的毫秒数

System.out.println(d.getMonth())  //用0~11表示Data实例表示的时间的月份数,0代表一月

public int getDate()   //返回Data实例所表示时间的日期数

public int getDay()   //返回Data实例所表示时间的星期数,0代表周日,以此类推

public int getHours()  //获得data实例表示时间的小时数

pubpublic int getMinutes)  //获得data实例表示时间的分钟数

public int getHours()  //获得data实例表示时间的秒数

注:上述方法除了前两个之外,其他均已废弃

另外Data对象可以由println方法直接输出,效果与输出Data的toString方法的返回值相同

Calendar类

Data类的部分API被废弃后,开始使用Calendar类代替Data类。Calendar类是一个抽象类,不可实例化对象,但可以通过静态方法geiInstance()来获取实例。

Calendar类的方法

public static Calendar getInstance()   //以本机的时间实例化一个对象

public int get(int field)   //返回实例所代表的时间的field指定字段的值    如field=Calendar.YEAR则返回当前对象的年份

public abstract void add(int field,int amount)  //将当前实例field指定的字段的值增加amount  如add(Calendar.Year,2)则表示实例的年份加二

public final Date getTime()  //将Calendar对象转化成Data对象,并返回一个Data对象

Calendar的字段

Calendar定义了一些静态成员常量,这些常量可以作为参数传入add方法或get方法等,这使得Calendar的API使用更灵活



public static final int YEAR   //年份字段

public static final int MONTH   //月份字段

等等

通过其英文意思可以很容易地理解每个字段代表的内容,这里不再一一罗列了

SimpleDataFormat类

这个类类命中含有format一词,顾名思义,这是一个用于格式化输出时间信息的类

SimpleDataFormat的构造器:

SimpleDataFormat(String pattern) //以pattern样式实例化一个对象,样式指的是日期的格式化形式

字母日期或时间元素表示示例
G
Era 标志符Text
AD
y
Year
1996
96
M
年中的月份Month
July
Jul
07
w
年中的周数Number
27
W
月份中的周数Number
2
D
年中的天数Number
189
d
月份中的天数Number
10
F
月份中的星期Number
2
E
星期中的天数Text
Tuesday
Tue
a
Am/pm 标记Text
PM
H
一天中的小时数(0-23)Number
0
k
一天中的小时数(1-24)Number
24
K
am/pm 中的小时数(0-11)Number
0
h
am/pm 中的小时数(1-12)Number
12
m
小时中的分钟数Number
30
s
分钟中的秒数Number
55
S
毫秒数Number
978
z
时区General time zone
Pacific Standard Time
PST
GMT-08:00
Z
时区RFC 822 time zone
-0800
上表中的字母与其他字符组合就可以形成一个样式

format方法:

将作为参数传入的Data对象按照SimpleDataFormat指定的格式转化成字符串

SimpleDataFormat的使用例子:格式化输出当前时间

<span style="font-size:14px;">package fgb;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatTset {
public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy/MM/dd/hh:mm:ss a");
System.out.println(sdf.format(new Date()));
System.out.println(sdf1.format(new Date()));
}
}</span>
输出截图(eclipse下):

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