tl; dr
java.time.LocalDateTime.parse(
"04/02/2011 20:27:05" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" )
)
java.time
Cách tiếp cận hiện đại sử dụng các lớp java.time thay thế cho Joda-Time đáng kính dự án .
Phân tích cú pháp như LocalDateTime
là đầu vào của bạn thiếu bất kỳ chỉ báo nào về múi giờ hoặc offset-từ-UTC.
String input = "04/02/2011 20:27:05" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" ) ;
LocalDateTime ldt = LocalDateTime.parse( input , f ) ;
ldt.toString (): 2011 / 02-04T20: 27: 05
Mẹo: Nếu có thể, hãy sử dụng các định dạng ISO 8601 tiêu chuẩn khi trao đổi giá trị thời gian theo ngày dưới dạng văn bản thay vì định dạng được thấy ở đây. Thuận tiện, các lớp java.time sử dụng các định dạng tiêu chuẩn khi phân tích cú pháp / tạo chuỗi.
Giới thiệu về java.time
Các java.time khung được xây dựng vào Java 8 và sau đó. Những lớp học thay thế cái cũ phiền hà di sản lớp học ngày thời gian như java.util.Date
, Calendar
, & SimpleDateFormat
.
Các Joda thời gian dự án, bây giờ trong chế độ bảo trì , khuyên chuyển đổi sang các java.time lớp.
Để tìm hiểu thêm, xem Hướng dẫn Oracle . Và tìm kiếm Stack Overflow cho nhiều ví dụ và giải thích. Đặc điểm kỹ thuật là JSR 310 .
Nơi để có được các lớp java.time?
Các ThreeTen-Extra dự án mở rộng java.time với các lớp bổ sung. Dự án này là một nền tảng chứng minh cho các bổ sung có thể trong tương lai cho java.time. Bạn có thể tìm thấy một số các lớp học hữu ích ở đây chẳng hạn như Interval
, YearWeek
, YearQuarter
, và nhiều hơn nữa .
java.time
gói trong Java 8, hãy thử sử dụngLocalDateTime.parse
hoặcInstant.parse
.