Java時間處理類SimpleDateFormat的parse和format方法的正確使用


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));
 }
  
}

 

結果為:

公元20100727091929

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 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM