栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将持续时间字符串解析为毫秒

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将持续时间字符串解析为毫秒

使用a

Pattern
是一种合理的方法。但是,为什么不使用单个字段来获取所有四个字段呢?

Pattern p = Pattern.compile("(\d+)d\s+(\d+)h\s+(\d+)m\s+(\d+)s");

然后使用索引组提取。

编辑:

基于您的想法,我最终编写了以下方法

private static Pattern p = Pattern        .compile("(\d+)d\s+(\d+)h\s+(\d+)m\s+(\d+)s");public static long parseDuration(String duration) throws ParseException {    Matcher m = p.matcher(duration);    long milliseconds = 0;    if (m.find() && m.groupCount() == 4) {        int days = Integer.parseInt(m.group(1));        milliseconds += TimeUnit.MILLISECONDS.convert(days, TimeUnit.DAYS);        int hours = Integer.parseInt(m.group(2));        milliseconds += TimeUnit.MILLISEConDS     .convert(hours, TimeUnit.HOURS);        int minutes = Integer.parseInt(m.group(3));        milliseconds += TimeUnit.MILLISECONDS.convert(minutes,     TimeUnit.MINUTES);        int seconds = Integer.parseInt(m.group(4));        milliseconds += TimeUnit.MILLISECONDS.convert(seconds,     TimeUnit.SECONDS);    } else {        throw new ParseException("Cannot parse duration " + duration, 0);    }    return milliseconds;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/438639.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号