1. Sử dụng lớp SimpleDateFormat
Constructor của lớp này chấp nhận String định dạng ngày và tạo SimpleDateFormat. Để parse chuỗi thành Date:
- Khởi tạo lớp bằng định dạng mong muốn.
- Dùng phương thức
parse().
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";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");
Date date = formatter.parse(date_string);
System.out.println("Giá trị ngày: " + date);
}
}
Kết quả
Giá trị ngày: Mon Jun 25 00:00:00 IST 2007
2. Sử dụng lớp LocalDate (Java 8+)
Phương thức parse() của LocalDate chấp nhận String và trả về 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);
}
}
Kết quả
2007-12-03
3. Sử dụng lớp DateUtils (Apache Commons Lang)
DateUtils cung cấp tiện ích định dạng ngày trong gói apache.commons. Maven dependency:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
Phương thức parseDate() chấp nhận chuỗi định dạng và chuỗi ngày, trả về Date.
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);
}
}
Kết quả
Sat Dec 03 00:00:00 IST 12
4. Sử dụng lớp Instant (Java 8+)
Phương thức parse() của java.time.Instant chấp nhận chuỗi ngày (ISO-8601) và trả về 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);
}
}
Kết quả
2014-10-05T15:23:01Z