web-dev-qa-db-ja.com

文字列を日付なしのTimeオブジェクトに時間内に変換します

string timeをDateオブジェクトと一緒に出力するため、Timeオブジェクトに変換する際に問題が発生しました。これは私のコードです。

String time = "15:30:18";

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

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

javaで日付なしで時刻のみを変換して印刷する方法。例を挙げればもっと良いでしょう。

ありがとうございました。

9
syafikah

解析に使用したものと同じ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を使用して、必要な部分のみを「表示」する必要があります。

26
skaffman

これも機能します

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

ジョーダ-時間| Java.time

日付やタイムゾーンのない時間のみの値が必要な場合は、 Joda-Time ライブラリまたはJava 8(Joda-Timeに触発されました)。

これらのフレームワークはどちらもLocalTimeクラスを提供します。

Joda-Time2.4では…

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

Java.timeでは…

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