2011-03-27 22 views
7

Dize zamanı ile Zaman nesnesini dönüştürmek için sorun yaşadım çünkü Tarihle birlikte yazdırıyor. bu benim kodum.Dize, Tarih olmadan Zaman nesnesine dönüştürme

String time = "15:30:18"; 

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

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

Nasıl dönüştürülür ve yazdırılır Sadece Tarih bilgisi olmadan java'da. Bir örnek verebilirseniz daha iyi olacaktır.

Teşekkürler.

cevap

23

Kullanım bunu ayrıştırmak için kullanılan aynı SimpleDateFormat:

String time = "15:30:18"; 

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

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

hatırla, Date nesne daima kombine tarih/saat değerini temsil eder. Bir tarih-only veya time-only değerini düzgün bir şekilde gösteremez, bu yüzden istediğiniz parçaları sadece "görebildiğinizden" emin olmak için doğru DateFormat'u kullanmalısınız.

8

Bu durum

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

Joda-Time işleri | java.time

Tarih içermeyen ve saat dilimi olmayan bir zamana bağlı değer istiyorsanız, ya kitaplığını veya Java 8'de paketlenmiş yeni java.time paketini kullanmanız gerekir (Joda-Time'dan esinlenerek) .

Bu çerçevelerin her ikisi de LocalTime sınıfı sunar.

Joda-Time 2.4 olarak

... java.time olarak

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

...

LocalTime localTime = LocalTime.parse("15:30:18"); 
İlgili konular