日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

6、日期格式化(DateFormat类和SimpleDateFormat类)

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6、日期格式化(DateFormat类和SimpleDateFormat类) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

格式化日期表示將日期/時間格式轉換為預先定義的日期/時間格式。例如將日期“Fri May 18 15:46:24 CST2016” 格式轉換為 “2016-5-18 15:46:24 星期五”的格式。

在 Java 中,可以使用 DateFormat 類和 SimpleDateFormat 類來格式化日期,下面詳細介紹這兩個格式化日期類的使用。

DateFormat 類

DateFormat 是日期/時間格式化子類的抽象類,它以與語言無關的方式格式化并解析日期或時間。日期/時間格式化子類(如 SimpleDateFormat)允許進行格式化(也就是日期→文本)、解析(文本→日期)和標準化日期。

在創建 DateFormat 對象時不能使用 new 關鍵字,而應該使用 DateFormat 類中的靜態方法 getDateInstance(),示例代碼如下:

DateFormat df = DateFormat.getDatelnstance();

在創建了一個 DateFormat 對象后,可以調用該對象中的方法來對日期/時間進行格式化。DateFormat 類中常用方法如表 1 所示。

方法描述
String format(Date date)將 Date 格式化日期/時間字符串
Calendar getCalendar()獲取與此日期/時間格式相關聯的日歷
static DateFormat getDateInstance()獲取具有默認格式化風格和默認語言環境的日期格式
static DateFormat getDateInstance(int style)獲取具有指定格式化風格和默認語言環境的日期格式
static DateFormat getDateInstance(int style,Locale locale)獲取具有指定格式化風格和指定語言環境的日期格式
static DateFormat getDateTimeInstance()獲取具有默認格式化風格和默認語言環境的日期/時間格式
static DateFormat getDateTimeInstance(int dateStyle,int timeStyle)獲取具有指定日期/時間格式化風格和默認語言環境的日期/時間格式
static DateFormat getDateTimeInstance(int dateStyle,int timeStyle,Locale locale)獲取具有指定日期/時間格式化風格和指定語言環境的日期/時間格式
static DateFormat getTimeInstance()獲取具有默認格式化風格和默認語言環境的時間格式
static DateFormat getTimeInstance(int style)獲取具有指定格式化風格和默認語言環境的時間格式
static DateFormat getTimeInstance(int style,Locale locale)獲取具有指定格式化風格和指定語言環境的時間格式
void setCalendar(Calendar newCalendar)為此格式設置日歷
Date parse(String source)將給定的字符串解析成日期/時間

格式化樣式主要通過 DateFormat 常量設置。將不同的常量傳入到表 1 所示的方法中,以控制結果的長度。DateFormat 類的常量如下。

  • SHORT:完全為數字,如 12.5.10 或 5:30pm。
  • MEDIUM:較長,如 May 10,2016。
  • LONG:更長,如 May 12,2016 或 11:15:32am。
  • FULL:是完全指定,如 Tuesday、May 10、2012 AD 或 11:l5:42am CST。

使用 DateFormat 類格式化曰期/時間的示例如下:

// 獲取不同格式化風格和中國環境的日期 DateFormat df1 = DateFormat.getDateInstance(DateFormat.SHORT, Locale.CHINA); DateFormat df2 = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA); DateFormat df3 = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.CHINA); DateFormat df4 = DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA); // 獲取不同格式化風格和中國環境的時間 DateFormat df5 = DateFormat.getTimeInstance(DateFormat.SHORT, Locale.CHINA); DateFormat df6 = DateFormat.getTimeInstance(DateFormat.FULL, Locale.CHINA); DateFormat df7 = DateFormat.getTimeInstance(DateFormat.MEDIUM, Locale.CHINA); DateFormat df8 = DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA); // 將不同格式化風格的日期格式化為日期字符串 String date1 = df1.format(new Date()); String date2 = df2.format(new Date()); String date3 = df3.format(new Date()); String date4 = df4.format(new Date()); // 將不同格式化風格的時間格式化為時間字符串 String time1 = df5.format(new Date()); String time2 = df6.format(new Date()); String time3 = df7.format(new Date()); String time4 = df8.format(new Date()); // 輸出日期 System.out.println("SHORT:" + date1 + " " + time1); System.out.println("FULL:" + date2 + " " + time2); System.out.println("MEDIUM:" + date3 + " " + time3); System.out.println("LONG:" + date4 + " " + time4);

運行該段代碼,輸出的結果如下:

SHORT:18-10-15 上午9:30 FULL:20181015日 星期一 上午093043秒 CST MEDIUM:2018-10-15 9:30:43 LONG:20181015日 上午093043

該示例主要介紹了 DateFormat 類中方法與常量的結合使用,通過使用 DateFomat 類可以對日期進行不同風格的格式化。

SimpleDateFormat 類

如果使用 DateFormat 類格式化日期/時間并不能滿足要求,那么就需要使用 DateFormat 類的子類——SimpleDateFormat。

SimpleDateFormat 是一個以與語言環境有關的方式來格式化和解析日期的具體類,它允許進行格式化(日期→文本)、解析(文本→日期)和規范化。SimpleDateFormat 使得可以選擇任何用戶定義的日期/時間格式的模式。

SimpleDateFormat 類主要有如下 3 種構造方法。

  • SimpleDateFormat():用默認的格式和默認的語言環境構造 SimpleDateFormat。
  • SimpleDateFormat(String pattern):用指定的格式和默認的語言環境構造 SimpleDateF ormat。
  • SimpleDateFormat(String pattern,Locale locale):用指定的格式和指定的語言環境構造
    SimpleDateF ormat。
  • SimpleDateFormat 自定義格式中常用的字母及含義如表 2 所示。

    例 1
    編寫 Java 程序,使用 SimpleDateFormat 類格式化當前日期并打印,日期格式為“xxxx 年 xx 月 xx 日星期 xxx 點 xx 分 xx 秒”,具體的實現代碼如下:

    import java.text.SimpleDateFormat; import java.util.Date; public class Test13 {public static void main(String[] args) {Date now = new Date(); // 創建一個Date對象,獲取當前時間// 指定格式化格式SimpleDateFormat f = new SimpleDateFormat("今天是 " + "yyyy 年 MM 月 dd 日 E HH 點 mm 分 ss 秒");System.out.println(f.format(now)); // 將當前時間袼式化為指定的格式} }

    該程序的運行結果如下:

    今天是 20181015 日 星期一 092623

    總結

    以上是生活随笔為你收集整理的6、日期格式化(DateFormat类和SimpleDateFormat类)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。