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

java日期处理总结

2015-01-28 00:30 169 查看

1.java.sql.Date

从数据库中取出的日期格式(rs.getDate())是java.sql.Date,这是java.util.Date的子类。查询API后发现可用的方法很少。包含构造只有4个:

Date(long date)

使用给定毫秒时间值构造一个
Date
对象。
void
setTime(long date)

使用给定毫秒时间值设置现有
Date
对象。
String
toString()


格式化日期转义形式 yyyy-mm-dd 的日期。
static Date
valueOf(String s)


将 JDBC 日期转义形式的字符串转换成
Date
值。
其中valueOf方法中的s表示 "yyyy-mm-dd" 形式的日期的
String
对象,如果不是这种格式,则报错。而toString方法则默认返回"yyyy-mm-dd" 形式的日期。

2.java.util.Date

java.util.Date反应的是世界时(UTC)。date常用的方法有:

Date():初始化当前时间
Date(long date)

分配
Date
对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年
1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
void
setTime(long time)

设置此
Date
对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后
time
毫秒的时间点。
String
[b]toString
[code](
)

[/b]把此
Date
对象转换为以下形式的
String
: dow mon dd
hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri,
Sat)。[/code]
date的toString()方法内容详细如下:

把此
Date
对象转换为以下形式的
String



dow mon dd hh:mm:ss zzz yyyy


其中:

dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。

mon 是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。

dd 是一月中的某一天(01 至 31),显示为两位十进制数。

hh 是一天中的小时(00 至 23),显示为两位十进制数。

mm 是小时中的分钟(00 至 59),显示为两位十进制数。

ss 是分钟中的秒数(00 至 61),显示为两位十进制数。(这里之所以有61秒是因为对于 UTC,大约每一两年出现一次额外的一秒,称为“闰秒”。闰秒始终作为当天的最后一秒增加,并且始终在 12 月 31 日或 6 月 30 日增加。)

zzz 是时区(并可以反映夏令时)。标准时区缩写包括方法 parse 识别的时区缩写。如果不提供时区信息,则 zzz 为空,即根本不包括任何字符。

yyyy 是年份,显示为 4 位十进制数。

3.日期格式化DateFormat和SimpleDateFormat

  DateFormat是一个抽象类,真正格式化日期的类是SimpleDateFormat。

  日期和时间模式:  

  日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母
'A'
'Z'
'a'
'z'
被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (
'
) 引起来,以免进行解释。
"''"
表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。



下面举个例子:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(new Date()));
Date date=sdf.parse("2015-01-29 9:20:20");
System.out.println(date);


输出结果:

2015-01-28 09:46:55
Thu Jan 29 09:20:20 CST 2015

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