2011-03-27 45 views
7

tôi có vấn đề để chuyển đổi chuỗi thời gian để đối tượng thời gian vì nó in cùng với ngày. đây là mã của tôi.chuyển đổi chuỗi trong thời gian để đối tượng thời gian mà không có ngày

String time = "15:30:18"; 

DateFormat sdf = new SimpleDateFormat("hh:mm:ss"); 
Date date = sdf.parse(time); 

System.out.println("Time: " + date); 

cách chuyển đổi và in Chỉ thời gian không có ngày trong java. nó sẽ tốt hơn nếu bạn có thể đưa ra một ví dụ.

cảm ơn bạn.

Trả lời

23

Sử dụng cùng SimpleDateFormat mà bạn sử dụng để phân tích nó:

String time = "15:30:18"; 

DateFormat sdf = new SimpleDateFormat("hh:mm:ss"); 
Date date = sdf.parse(time); 

System.out.println("Time: " + sdf.format(date)); 

Hãy nhớ rằng, đối tượng Date luôn đại diện cho một ngày giá trị kết hợp/lần. Nó không thể đại diện cho một giá trị chỉ có giá trị theo ngày hoặc chỉ theo thời gian, vì vậy bạn phải sử dụng đúng DateFormat để đảm bảo bạn chỉ "thấy" các phần mà bạn muốn.

8

này hoạt động cũng

String t = "00:00:00" 
Time.valueOf(t); 
3

Joda thời gian | java.time

Nếu bạn muốn có giá trị chỉ có thời gian mà không có ngày và không có múi giờ, bạn phải sử dụng thư viện Joda-Time hoặc gói java.time mới đi kèm trong Java 8 (lấy cảm hứng từ Joda-Time) .

Cả hai khung này đều cung cấp lớp học LocalTime.

Trong Joda thời gian 2.4 ...

LocalTime localTime = new LocalTime("15:30:18"); 

Trong java.time ...

LocalTime localTime = LocalTime.parse("15:30:18"); 
Các vấn đề liên quan