Java中怎麼才能把日期轉換成想要的格式呢,或把字符串轉換成一定格式的日期,如把數據庫中的日期或時間轉換成自己想要的格式,JAVA中提供了SimpleDateFormat類可以實現,以下是SimpleDateFormat的用法及實例:
java.text
類
SimpleDateFormat
java.lang.Object
java.text.Format
java.text.DateFormat
java.text.SimpleDateFormat
所有已實現的接口:
Serializable,
Cloneable
SimpleDateFormat
是一個以與語言環境有關的方式來格式化和解析日期的具體類。它允許進行格式化(日期 -> 文本)、解析(文本 -> 日期)和規範化。
SimpleDateFormat
使得可以選擇任何用戶定義的日期-時間格式的模式。但是,仍然建議通過 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 來創建日期-時間格式器。每一個這樣的類方法都能夠返回一個以默認格式模式初始化的日期/時間格式器。
package
ceshi;
import
java.text.ParseException;
import
java.text.SimpleDateFormat;
import
java.util.Date;
public
class
Ceshi
{
public
static
void
main(String[]
args)
throws
ParseException
{
SimpleDateFormat
CeshiFmt0=
new
SimpleDateFormat(
"Gyyyy年MM月dd日
HH時mm分ss秒"
);
SimpleDateFormat
CeshiFmt1=
new
SimpleDateFormat(
"yyyy/MM/dd
HH:mm"
);
SimpleDateFormat
CeshiFmt2=
new
SimpleDateFormat(
"yyyy-MM-dd
HH:mm:ss"
);
SimpleDateFormat
CeshiFmt3=
new
SimpleDateFormat(
"yyyy年MM月dd日
HH時mm分ss秒 E "
);
SimpleDateFormat
CeshiFmt4=
new
SimpleDateFormat(
"yyyy/MM/dd
E"
);
SimpleDateFormat
CeshiFmt5=
new
SimpleDateFormat(
"一年中的第
D 天 ,第w個星期 ,一個月中第W個星期 ,k時 z時區"
);
Date
now=
new
Date();
System.out.println(CeshiFmt0.format(now));
System.out.println(CeshiFmt1.format(now));
System.out.println(CeshiFmt2.format(now));
System.out.println(CeshiFmt3.format(now));
System.out.println(CeshiFmt4.format(now));
System.out.println(CeshiFmt5.format(now));
}
}
結果爲:
公元
2010
年
07
月
27
日
09
時
19
分
29
秒
2010
/
07
/
27
09
:
19
2010
-
07
-
27
09
:
19
:
29
2010
年
07
月
27
日
09
時
19
分
29
秒
星期二
2010
/
07
/
27
星期二
一年中的第
208
天
,第
31
個星期
,一個月中第
5
個星期
,
9
時
CST時區
SimpleDateFormat日期-時間格式模式參數:
字母
日期或時間元素 表示 示例
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
<span
style=
"background-color:
#ffcc00;"
>E
星期中的天數 Text Tuesday; Tue (我在部署的時候在本機oracle是返回星期是星期二,而在Oracle的服務器上是返回Tue.)
</span>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