2011-03-27 80 views
7

我有问题将字符串时间转换为时间对象,因为它与Date一起打印。这是我的代码。转换字符串的时间对象没有日期

String time = "15:30:18"; 

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

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

如何转换和打印只有在java中没有日期的时间。如果你能举一个例子会更好。

谢谢。

回答

23

使用您用于解析它同样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)); 

记住,Date对象总是呈现合并的日期/时间值。它无法正确表示仅限日期或仅限时间的值,因此您必须使用正确的DateFormat以确保您只能“看见”所需的部分。

8

该作品,以及

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

乔达时间| java.time

如果您想要一个没有日期且没有时区的时间值,那么您必须使用Joda-Time库或Java 8中捆绑的新Java时间包(受Joda-Time启发) 。

这两个框架都提供了一个LocalTime类。

在乔达时间2.4 ...

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

在java.time ...

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