-1

在 Java 中,我想从时间输入字符串中提取秒数,例如:

05h23m45s

我该怎么做?

4

4 回答 4

4

m如果这是您的时间格式,只需获取在分钟之后开始的子字符串。

String time = "05h23m45s";
String seconds = time.substring(time.lastIndexOf("m") + 1, time.lastIndexOf("s"));

此代码将返回 a ,其中包含 之后和直到 的String所有字符。ms

我强烈建议您阅读String 类文档。如果使用得当,它的噱头非常有用。

于 2012-10-03T15:24:20.357 回答
3

更新

如果您想要一个真正强大的处理日期和时间的解决方案,您可以考虑使用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
于 2012-10-03T15:26:24.513 回答
2
String timeStr = "05h23m45s";

int sec = Integer.parseInt(timeStr.substring(6,7));

在许多其他方式中。

于 2012-10-03T15:29:49.493 回答
1
System.out.println("05h23m45s".split("m")[1].toString().substring(0,2));
于 2012-10-03T15:26:21.287 回答