我正在寻找高性能 Java 库,它提供的方法可以让我获得:
- 当前时间 (0-24)
- 当前日期 (1-31)
- 本周(1-52)
- 当月 (1-12)
- 当前赛季(1-4)
- 当前年份(YYYY 或 YY)
性能对我来说是最重要的问题。这就是我不能使用标准 Calendar 类的原因。最好的解决方案是在不创建新对象的情况下进行所有计算。
添加:为了澄清,我会再提一次:每秒超过 100000 次操作。
最佳答案
您实际上可以使用出色的 joda-time 库来执行此操作。 joda 中的 Chronology
实现提供了 DateTime getHour
getDay
类型方法背后的逻辑。如果您想跳过创建 DateTime
瞬间,直接使用它没有问题。
long msSinceEpoch = System.currentTimeMillis();
Chronology chronology = ISOChronology.getInstanceUTC() // This can be static
chronology.hourOfDay().get(msSinceEpoch);
chronology.dayOfMonth().get(msSinceEpoch);
chronology.weekOfWeek().get(msSinceEpoch);
chronology.monthOfYear().get(msSinceEpoch);
chronology.years().get(msSinceEpoch);
session 不是 joda 的概念。您必须根据自己的规则从当月算起。
关于java - 任何与时间戳一起使用的高性能 Java 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465330/