網頁

2019/12/22

Java 字串轉日期 convert String to Date

Java轉換字串String為日期java.util.Date的方式如下。


Java可使用SimpleDateFormat把字串String轉成日期Date

呼叫SimpleDateFormat​(String pattern)建構式並傳入一個日期pattern來建構SimpleDateFormat的實例,調用其parse(String source)方法來解析字串為Date物件。

Date date = null;

date = new SimpleDateFormat("yyyy-MM-dd").parse("2019-12-31");
System.out.println(date); // Tue Dec 31 00:00:00 CST 2019

date = new SimpleDateFormat("yyyy/MM/dd").parse("2019/12/31");
System.out.println(date); // Tue Dec 31 00:00:00 CST 2019

date = new SimpleDateFormat("yyyyMMdd").parse("20191231");
System.out.println(date); // Tue Dec 31 00:00:00 CST 2019

date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2019-12-31 23:59:59");
System.out.println(date); // Tue Dec 31 23:59:59 CST 2019

date = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse("2019/12/31 23:59:59");
System.out.println(date); // Tue Dec 31 23:59:59 CST 2019

date = new SimpleDateFormat("yyyyMMddHHmmss").parse("20191231235959");
System.out.println(date); // Tue Dec 31 23:59:59 CST 2019

使用SimpleDateFormat.parse(String source)時必須處理例外錯誤ParseException,可以用throws向外層拋出或用try catch捕捉。

當被解析的字串日期格式與pattern不符時會丟出ParseException例外錯誤。

Date date = null;
String source = "2019/12/31";
String pattern = "yyyy-MM-dd";
try {
    date = new SimpleDateFormat(pattern).parse(source);
} catch (ParseException e) {
    System.out.printf("Parse date string [%1$s] with pattern [%2$s] error.%n", source, pattern);
    // Parse date string [2019/12/31] with pattern [yyyy-MM-dd] error.
}

參考:

沒有留言:

張貼留言