Cách chuyển đổi một chuỗi thành một đối tượng DateTime trong Java

Cach Chuyen Doi Mot Chuoi Thanh Mot Doi Tuong Datetime Trong Java



Trong khi lập trình bằng Java, đôi khi, bạn có thể cần thực hiện chuyển đổi đối tượng Chuỗi thành ngày tháng. Mặc dù không có phương thức được xác định trước trong Java cho mục đích cụ thể, nhưng vẫn có một số phương thức có thể được sử dụng để chuyển đổi một chuỗi thành một đối tượng DateTime.

Blog này sẽ giải thích các quy trình chuyển đổi đối tượng Chuỗi thành DateTime trong Java.

Làm thế nào để chuyển đổi chuỗi thành đối tượng DateTime trong Java?

Để chuyển đổi một chuỗi thành một đối tượng DateTime trong Java, bạn có thể sử dụng:







  • Lớp SimpleDateFormat
  • Lớp LocalDate
  • Lớp ZonedDateTime

Hãy xem các lớp được đề cập trợ giúp như thế nào trong việc chuyển đổi Chuỗi thành đối tượng DateTime.



Phương pháp 1: Chuyển đổi chuỗi thành đối tượng DateTime bằng lớp SimpleDateFormat

Để chuyển đổi một Chuỗi thành một đối tượng DateTime, bạn có thể sử dụng Java “ SimpleDateFormat ' lớp. Sử dụng lớp này, một Chuỗi có thể được phân tích cú pháp thành đối tượng DateTime được yêu cầu với sự trợ giúp của phương thức “parse ()”.



Cú pháp
Đây là cú pháp của phương thức parse () của lớp SimpleDateFormat:





sf. phân tích cú pháp ( 'Chuỗi ngày tháng' ) ;

Các ' sf ”Là đối tượng của lớp SimpleDateFormat gọi“ phân tích cú pháp () ”Bằng cách truyền một Chuỗi ở định dạng DateTime.

Thí dụ
Đầu tiên, chúng ta sẽ tạo một thể hiện của lớp SimpleDateFormat và chuyển định dạng ngày và giờ làm tham số:



SimpleDateFormat sf = Mới SimpleDateFormat ( 'dd-MM-yyyy; HH: mm: ss' ) ;

Sử dụng khối try-catch mà trước tiên bạn phải tạo một đối tượng của “ Ngày 'Lớp có tên' ngày giờ ”. Đối tượng này sẽ lưu trữ ngày được phân tích cú pháp dưới dạng Chuỗi bằng cách sử dụng phương thức phân tích cú pháp (), sau đó in đối tượng DateTime đã chuyển đổi với “ System.out.println () ' phương pháp:

thử {
Ngày ngày giờ = sf. phân tích cú pháp ( '08-19-2022; 01:34:23' ) ;
Hệ thống. ngoài . println ( ngày giờ ) ;
} chụp lấy ( ParseException e ) {
và. printStackTrace ( ) ;
}

Đầu ra đã cho chỉ ra rằng Chuỗi được chuyển đổi thành công thành đối tượng DateTime:

Bây giờ, hãy xem cách lớp LocalDate hoạt động để chuyển đổi một Chuỗi thành một đối tượng DateTime.

Phương pháp 2: Chuyển đổi chuỗi thành đối tượng DateTime bằng lớp LocalDate

Một lớp DateTime phổ biến khác trong Java là “ LocalDateTime ”. Định dạng của đối tượng bao gồm “ T ', đại diện ' Thời gian ”Và hoạt động như một điểm phân tách giữa ngày và giờ.

Cú pháp
Có thể làm theo cú pháp dưới đây để sử dụng phương thức parse () của lớp LocalDate:

LocalDateTime. phân tích cú pháp ( 'Chuỗi ngày tháng' ) ;

Ở đây, lớp LocalDate gọi “ phân tích cú pháp () ”Bằng cách chuyển một Chuỗi ngày tháng để chuyển đổi nó thành một Đối tượng DateTime.

Thí dụ
Đầu tiên chúng ta sẽ tạo một đối tượng của lớp LocalDateTime có tên là “ ngày giờ ”Và phân tích cú pháp đối số Chuỗi được chỉ định với sự trợ giúp của“ phân tích cú pháp () ' phương pháp:

LocalDateTime dateTime = LocalDateTime. phân tích cú pháp ( '2022-08-19T02: 30: 45' ) ;

Cuối cùng, in kết quả “ ngày giờ ”Đối tượng trên bảng điều khiển:

Hệ thống. ngoài . println ( ngày giờ ) ;

Đầu ra

Phương pháp 3: Chuyển đổi chuỗi thành đối tượng DateTime bằng lớp ZonedDateTime

Đôi khi, chúng tôi cần thông tin múi giờ với DateTime. Vì mục đích này, Java hỗ trợ một lớp được gọi là “ ZonedDateTime ”Tìm nạp múi giờ hiện tại trong khi làm việc với ngày và giờ. Lớp này cũng sử dụng “ phân tích cú pháp () ”Với Lớp ZonedDateTime để phân tích cú pháp một chuỗi và chuyển đổi nó thành một đối tượng DateTime.

Cú pháp
Để sử dụng lớp ZonedDateTime, hãy làm theo cú pháp đã cho:

ZonedDateTime. phân tích cú pháp ( 'Chuỗi ngày tháng' ) ;

Ở đây, lớp ZonedDateTime gọi “ phân tích cú pháp () ”Bằng cách chuyển một Chuỗi để được chuyển đổi thành Đối tượng DateTime.

Thí dụ
Đầu tiên, chúng ta sẽ tạo một đối tượng của lớp ZonedDateTime có tên là “ vùng ”Và gọi“ phân tích cú pháp () ”Bằng cách truyền một Chuỗi ngày tháng trong đó làm đối số. Chuỗi được chỉ định đại diện cho ngày và giờ của “ Châu Mỹ ' Múi giờ:

Khu vực ZonedDateTime = ZonedDateTime. phân tích cú pháp
( '2022-08-19T02: 56: 45.513464300-05: 00 [Mỹ / Chicago]' ) ;

In đối tượng DateTime đã chuyển đổi:

Hệ thống. ngoài . println ( vùng ) ;

Như bạn có thể thấy, đối tượng DateTime đã chuyển đổi được hiển thị với thông tin múi giờ:

Chúng tôi đã thu thập tất cả thông tin cần thiết để chuyển đổi một Chuỗi thành một đối tượng DateTime trong Java.

Sự kết luận

Để chuyển đổi một chuỗi thành một đối tượng DateTime, một số cách trong Java được sử dụng, chẳng hạn như lớp SimpleDateFormat, lớp LocalDate và lớp ZonedDateTime. Các lớp này là một phần của gói Java.time và Java.util. Để chuyển đổi một Chuỗi bằng cách sử dụng các lớp này, hãy thực hiện lệnh “ phân tích cú pháp () ”Bằng cách truyền một chuỗi làm đối số. Blog này đã giải thích các thủ tục để chuyển đổi một Chuỗi thành một đối tượng DateTime trong Java với các ví dụ thích hợp.