Java中怎么才能把日期轉換成想要的格式呢,或把字符串轉換成一定格式的日期,如把數據庫中的日期或時間轉換成自己想要的格式,JAVA中提供了SimpleDateFormat類可以實現。
SimpleDateFormat 是一個各種項目中使用頻度都很高的類,主要用於時間解析與格式化,頻繁使用的主要方法有parse和format.
parse方法:將字符串類型(java.lang.String)解析為日期類型(java.util.Date) format方法:將日期類型(Date)數據格式化為字符串(String)
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
E 星期中的天數 Text Tuesday; Tue (我在部署的時候在本機oracle是返回星期是星期二,而在Oracle的服務器上是返回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