如何从Java中提取时间字符串中的秒数?

时间:2012-10-03 15:21:29

标签: java string

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

05h23m45s

我该怎么办?

4 个答案:

答案 0 :(得分:4)

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

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

此代码将返回String,其中包含m后的所有字符,直至s

我强烈建议您阅读String class documentation。它的噱头在使用时非常有用。

答案 1 :(得分: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

答案 2 :(得分:2)

String timeStr = "05h23m45s";

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

还有许多其他方式。

答案 3 :(得分:1)

System.out.println("05h23m45s".split("m")[1].toString().substring(0,2));