convert String in time to Time object without Date

2019-01-15 01:00发布

i got problem to convert String time to Time object because it print together with Date. this is my code.

String time = "15:30:18";

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

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

how to convert and print Time only without Date in java. it will be better if you could give an example.

thank you.

标签: java date time
3条回答
我只想做你的唯一
2楼-- · 2019-01-15 01:49

Use the same SimpleDateFormat that you used to parse it:

String time = "15:30:18";

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

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

Remember, the Date object always represents a combined date/time value. It can't properly represent a date-only or time-only value, so you have to use the correct DateFormat to ensure you only "see" the parts that you want.

查看更多
淡お忘
3楼-- · 2019-01-15 01:52

This works as well

String t = "00:00:00" 
Time.valueOf(t);
查看更多
Melony?
4楼-- · 2019-01-15 01:56

Joda-Time | java.time

If you want a time-only value without a date and without a time zone, then you must use either the Joda-Time library or the new java.time package bundled in Java 8 (inspired by Joda-Time).

Both of those frameworks offers a LocalTime class.

In Joda-Time 2.4…

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

In java.time…

LocalTime localTime = LocalTime.parse( "15:30:18" );
查看更多
登录 后发表回答