Bạn có thể phân tích một chuỗi chứa ngày thành giá trị Date bằng các cách sau:
- Constructor của lớp SimpleDateFormat chấp nhận một giá trị String đại diện cho định dạng ngày mong muốn và tạo đối tượng này. Bạn có thể phân tích chuỗi ngày bằng phương thức
parse()của lớp này. - Phương thức
parse()của lớpLocalDatechấp nhận một giá trị String đại diện cho ngày và trả về đối tượng LocalDate. - Lớp
DateUtilscung cấp tiện ích định dạng ngày, nằm trong góiapache.commons. Phương thứcparseDate()của lớpDateUtilschấp nhận chuỗi định dạng và chuỗi ngày làm tham số và trả về đối tượng Date. - Phương thức
parse()của lớpjava.time.Instantchấp nhận chuỗi ngày làm tham số và trả về đối tượng (Instant) đại diện cho ngày cho trước.
1. Sử dụng lớp 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";
// Khởi tạo SimpleDateFormat
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");
// Phân tích chuỗi thành Date
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+)
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)
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+)
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