Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách phân tích (parse) chuỗi ngày thành đối tượng Date trong Java

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ớp LocalDate chấp nhận một giá trị String đại diện cho ngày và trả về đối tượng LocalDate.
  • Lớp DateUtils cung cấp tiện ích định dạng ngày, nằm trong gói apache.commons. Phương thức parseDate() của lớp DateUtils chấ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ớp java.time.Instant chấ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