如何在 Java 中將日期字串解析為日期?


使用以下方法,可以解析一個包含有資料到日期值的字串 −

  • 構造器 SimpleDateFormat 類接收一個表示所需日期格式的字串值並建立此物件可以使用此類的 parse() 方法解析日期字串。
  • LocalDate 類的 parse() 方法接收一個表示日期的字串值,並返回一個 LocalDate 物件。
  • DateUtils 提供了一個實用工具來格式化日期,你可以在 apache.commons 包中找到它。DateUtils 類的 parseDate() 方法接收一個格式字串和一個日期字串作為引數,並返回一個 Date 物件。
  • java.time.Instant 類的 parse() 方法接收一個字串作為引數,並返回一個表示給定日期的物件(Instant)。

使用 SimpleDateFormat 類

示例

線上演示

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sample {
   public static void main(String args[]) throws ParseException {  
String date_string = "2007-25-06";
      //Instantiating the SimpleDateFormat class
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");      
      //Parsing the given String to Date object
      Date date = formatter.parse(date_string);      
      System.out.println("Date value: "+date);
   }
}

輸出

Date value: Mon Jun 25 00:00:00 IST 2007

使用 LocalDate 類

示例

線上演示

import java.time.LocalDate;
public class Test {
   public static void main(String args[]) {  
      LocalDate date = LocalDate.parse("2007-12-03");
      System.out.println(date);
   }
}

輸出

2007-12-03

使用 DateUtils 類

示例

import java.util.Date;
import org.apache.commons.lang3.time.DateUtils;
public class Test {
   public static void main(String args[]) {  
      String dateInString = "07-06-2013";
      Date date = DateUtils.parseDate(dateInString, "yyyy-MM-dd");
      System.out.println(date);
   }
}

輸出

Sat Dec 03 00:00:00 IST 12

使用 Instant 類

示例

線上演示

import java.time.Instant;
public class Test {
   public static void main(String args[]) {  
      String dateInString = "2014-10-05T15:23:01Z";
      Instant instant = Instant.parse(dateInString);
      System.out.println(instant);
   }
}

輸出

2014-10-05T15:23:01Z

更新於: 2021 年 2 月 6 日

2K+ 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始
廣告