将String及时转换为没有Date的Time对象
我有问题将String time转换为Time对象,因为它与Date一起打印。 这是我的代码。
String time = "15:30:18"; DateFormat sdf = new SimpleDateFormat("hh:mm:ss"); Date date = sdf.parse(time); System.out.println("Time: " + date);
如何转换和打印时间只在没有日期的Java中。 如果你举一个例子会更好。
谢谢。
使用您用于解析它的相同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
以确保只“看到”所需的部件。
这也有效
String t = "00:00:00" Time.valueOf(t);
Joda-Time | java.time
如果您想要一个没有日期且没有时区的仅限时间值,那么您必须使用Joda-Time库或Java 8中捆绑的新java.time包(受Joda-Time启发)。
这两个框架都提供了LocalTime
类。
在Joda-Time 2.4 ……
LocalTime localTime = new LocalTime( "15:30:18" );
在java.time中……
LocalTime localTime = LocalTime.parse( "15:30:18" );