午前10時、午後12時30分、午後2時47分、午前1時9分、午後5時などの特定の時間を入力するようにユーザーに依頼します。 Scanner
を使用してユーザーの入力を取得します。与えられた時間(String)をLocalTimeに変換するには?
String
をLocalTime
オブジェクトに解析/変換するにはどうすればよいですか?私はそれを可能にするJavaの組み込み関数はありますか?
午前10時、午後12時30分、午後2時47分、午前1時9分、午後5時などの特定の時間を入力するようにユーザーに依頼します。 Scanner
を使用してユーザーの入力を取得します。与えられた時間(String)をLocalTimeに変換するには?
String
をLocalTime
オブジェクトに解析/変換するにはどうすればよいですか?私はそれを可能にするJavaの組み込み関数はありますか?
だけjava.time.format.DateTimeFormatter
を使用します:
DateTimeFormatter parser = DateTimeFormatter.ofPattern("h[:mm]a");
LocalTime localTime = LocalTime.parse("10AM", parser);
:1〜12日の午前/午後の時間(:
h
をこれを実装するコードを以下に示します)、1桁または2桁[]
:任意のセクションの区切り文字(内部はすべてオプションです):mm
:2桁a
と分続い:
文字:AM/PMこれは、すべての入力に対して動作します。
Obrigado Hugo。私はあなたのようにスマートでした。素晴らしい一日をお過ごしください – SVCS1994
お手伝いしてうれしいです! –
希望すると、これが役立ちます。 DateTimeFormatterとLocalDateTime以下の例のように解析するといいと思います。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEEE, MMM d, yyyy HH:mm:ss a");
String date = "Tuesday, Aug 13, 2017 12:10:56 PM";
LocalDateTime localDateTime = LocalDateTime.parse(date, formatter);
System.out.println(localDateTime);
System.out.println(formatter.format(localDateTime));
2017-08-13T12:10:56
2017年8月13日(火曜日)12時10分56秒PM
だろう時間だけを解析する場合は、構文解析をLocalTime
に試してください。
DateTimeFormatter parseFormat = new DateTimeFormatterBuilder().appendPattern("hh[:mm]a").toFormatter();
LocalTime localTime = LocalTime.parse(timeValue, parseFormat);
これは、12時30分AMのようにhh:mmaの形式を厳密に尊重している時間にのみ有効ですが、5AMまたは2:12 PM ... – jeanr
はい、正しいです。 –
これは 'LocalDateTime'ではなく、' LocalTime'だけです。 – Kayaman
私はお詫び申し上げます。私はそれを言い直しましょう。 – SVCS1994