Java では、次のような形式の時間入力文字列から秒を抽出したいと思います。
05h23m45s
どうすればそうできますか?
m
それがあなたの時間形式である場合は、分単位の直後に始まる部分文字列を取得してください。
String time = "05h23m45s";
String seconds = time.substring(time.lastIndexOf("m") + 1, time.lastIndexOf("s"));
このコードは、 の後から までのString
すべての文字を含むを返します。m
s
String クラスのドキュメントを読むことを強くお勧めします。ギミックはうまく使えば本当に便利です。
アップデート
日付と時刻を処理するための非常に堅牢なソリューションが必要な場合は、JodaTimeまたはその他のDateパッケージの使用を検討できます ( java.text
)。
String time = "05h23m45s";
DateTimeFormatter dateFormatter = DateTimeFormat.forPattern("hh'h'mm'm'ss's'");
DateTime parsed = dateFormatter.parseDateTime(time);
int sec = parsed.getSecondOfMinute();
元の答え:
秒をint
値として取得するには:
String time = "05h23m45s";
String strSeconds = time.substring(time.lastIndexOf("m") + 1, time.lastIndexOf("s"));
int seconds = Integer.parseInt(strSeconds);
System.out.println(seconds);
プリントアウト:
45
String timeStr = "05h23m45s";
int sec = Integer.parseInt(timeStr.substring(6,7));
他の多くの方法の中で。
System.out.println("05h23m45s".split("m")[1].toString().substring(0,2));