更新時間:2022-08-05 10:27:16 來源:動力節點 瀏覽1312次
Java SimpleDateFormat 和 DateFormat 類用于日期格式化。它主要用于我們需要顯示或利用 Java 的日期和時間功能的地方。這兩個類都存在于com.text包中。
DateFormat 用于根據作為輸入提供的特定語言環境將日期格式化為字符串。
區域設置用于指定區域和語言,以使代碼對用戶更具區域設置。
世界不同地區的日期書寫方式不同。例如,2017 年 12 月 31 日在印度將寫為 31-12-2017,但在美國將寫為 12-31-2017。
日期格式類不同步,建議為每個線程創建單獨的實例。
可以使用DateFormat 類的getDateInstance()and方法創建 DateFormat 對象。getTimeInstance()
Locale loc = new Locale("en", "US");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, loc);
如上例所示,getDateInstanceDateFormat 方法需要兩個輸入參數,第一個參數指定要使用的 DateFormat,第二個參數是 locale。
Java 日期格式示例
DateFormat 類有一個負責格式化的格式化方法。
Locale locale = new Locale("fr", "FR");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.DEFAULT, locale);
String date = dateFormat.format(new Date());
System.out.print(date);
輸出:3 janv. 2018在上面的示例中,我們使用getDateInstance()方法來創建 DateFormat 實例。為了執行時間格式,我們需要一個時間實例。我們將使用 getTimeInstance() 方法來獲取時間實例。
Locale locale = new Locale("fr", "FR");
DateFormat dateFormat = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
String date = dateFormat.format(new Date());
System.out.print(date);
輸出:11:03:01
SimpleDateFormat 與 DateFormat 非常相似,它們之間唯一的主要區別是 SimpleDateFormat 可用于格式化(日期到字符串轉換)和解析(字符串到日期轉換),支持語言環境,而 DateFormat 不支持語言環境。此外,DateFormat 是一個抽象類,為日期格式化和解析提供基本支持,SimpleDateFormat 是擴展 DateFormat 類的具體類。
創建 SimpleDateFormat 實例
SimpleDateFormat 可以使用 SimpleDateFormat 構造函數創建,構造函數是一個參數化的構造函數,需要一個字符串模式作為參數。
String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
在上面的示例中,字符串模式是用于格式化日期的模式,輸出將在該模式中生成為“MM-dd-yyyy”。
Java SimpleDateFormat 示例
為了解析日期,我們需要使用構造函數創建一個 SimpleDateFormat 實例,然后使用 format() 方法。讓我們看一個使用 SimpleDateFormat 格式化日期的示例。
String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);
輸出:01-02-2018在上面的示例中,日期是 2018 年 1 月 2 日。為了解析時間,我們必須在創建 SimpleDateFormat 實例時更改模式。
String pattern = " HH:mm:ss.SSSZ";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);
輸出:13:03:15.454+0530在上面的示例中,模式是時間模式,當前時間的格式是基于模式完成的。
使用 SimpleDateFormat 解析
解析是將字符串轉換為java.util.Date實例。parse()我們可以使用SimpleDateFormat 類的方法將字符串解析為日期實例。為了將字符串解析為日期,我們需要一個 SimpleDateFormat 類的實例和一個字符串模式作為該類構造函數的輸入。
String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = simpleDateFormat.parse("12-01-2018");
System.out.println(date);
輸出:Sat Dec 01 00:00:00 IST 2018現在讓我們看一下 SimpleDateFormat 示例來解析時間。
String pattern = "HH:mm:ss";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
Date date = simpleDateFormat.parse("22:00:03");
System.out.println(date);
輸出:Thu Jan 01 22:00:03 IST 1970在上面的例子中,因為我們沒有指定任何日期,程序將紀元視為日期,即 01-Jan-1970。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習