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

用Java解析YYYYMMdd日期的最快方法

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

用Java解析YYYYMMdd日期的最快方法

如下所示,仅当您查看 数百万 次迭代时,日期处理的性能才有意义。相反,您应该选择易于阅读和维护的解决方案。

尽管可以使用

SimpleDateFormat
,它不是可重入的,因此应避免使用。最好的解决方案是使用出色的Joda时间类:

private static final DateTimeFormatter DATE_FORMATTER = new DateTimeFormatterBuilder()     .appendYear(4,4).appendMonthOfYear(2).appendDayOfMonth(2).toFormatter();...Date date = DATE_FORMATTER.parseDateTime(dateOfBirth).toDate();

如果我们在谈论您的数学函数,那么首先要指出的是,我已修复了您的数学代码中的错误。 那就是
手工做的问题。就是说,一次处理字符串的将是最快的。快速测试运行显示:

year = Integer.parseInt(dateString.substring(0, 4));month = Integer.parseInt(dateString.substring(4, 6));day = Integer.parseInt(dateString.substring(6));

大约需要800毫秒的时间:

int date = Integer.parseInt(dateString);year = date / 10000;month = (date % 10000) / 100; day = date % 100;total += year + month + day;

大约需要400毫秒。

但是……再次…… 您需要考虑到这是经过 一千万
次迭代之后的结果。这是过早优化的完美示例。我会选择最易读,最容易维护的工具。这就是为什么乔达时间答案是最好的。



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

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

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