使用字符串操作在java中转换时间
如何在java中将使用字符串操作在java中转换时间,java,Java,如何在java中将2m0s转换为00:02:00?两者都是字符串 我尝试了字符串和字符操作,但没有成功 我用PHP做了这个函数 但是我需要转换成java preg_match_all('/(\d+)([HMS])/', $sections[2], $parts, PREG_SET_ORDER); $units = array('H' => 'hours', 'M' => 'minutes', 'S' => 'seconds'); foreach($par
2m0s
转换为00:02:00
?两者都是字符串
我尝试了字符串和字符操作,但没有成功
我用PHP做了这个函数
但是我需要转换成java
preg_match_all('/(\d+)([HMS])/', $sections[2], $parts, PREG_SET_ORDER);
$units = array('H' => 'hours', 'M' => 'minutes', 'S' => 'seconds');
foreach($parts as $part)
{
$result[$units[$part[2]]] = $part[1];
}
当然,您可以使用regex实现这一点,但更简单的解决方案是使用该语言的dateapi 对于Java,这意味着使用
SimpleDataFormat
:
String input = "2m0s";
SimpleDateFormat parseFormat = new SimpleDateFormat("mm'm'ss's'");
Date date = parseFormat.parse(input);
SimpleDateFormat displayFormat = new SimpleDateFormat("mm:ss");
String output = displayFormat.format(date);
System.out.println(input + " -> " + output);
它将打印:2m0s->02:00
到您的控制台。好在像“2m75s”
这样的输入会被转换成“03:15”
有关如何构造模式来解析字符串或格式化日期的更多信息,请参见此处:不要自己滚动。Joda时间库可以解析并生成这些字符串。ISO 8601标准定义了该格式。查看ISO 8601的维基百科页面,查找持续时间部分。向我们展示您的尝试,然后我们可以帮助您解决代码问题。那么您的Java代码有什么问题?