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
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