我需要以毫秒级精度记录我的交易系统的时间戳(订单发送时间、确认时间、完成时间)。
试图思考表示此信息的最佳方式是什么...我需要记录以分析不同时间戳之间的性能/延迟...
使用 Joda instant 有什么意义吗?不确定这比仅存储 UTC 日期时间的 Java 日期有什么优势。
不确定我是否需要使用 Date,因为我不明白为什么我现在需要这个...但是,它更明确一点而不是使用长...
关于如何最好地解决这个问题有什么想法吗?我想如果我做出错误的决定,以后需要很长时间才能重构它。
最佳答案
通常,时间处理任务最终比表面上看起来更难。如果您正在对时间值进行任何类型的非平凡操作——除了按照您在问题中建议的那样考虑它们的差异——您应该认真考虑 Joda。 Joda 是一个非常全面的库。
因此,也许首先从 long
值开始,如果您意识到以后需要重新发明轮子,则重构为 Joda。
(您还想考虑向系统添加库的其他副作用——无论是增加内存使用还是减少周期。您提到您正在构建一个交易系统,我认为它往往是高性能的具有非常特殊要求的系统。)
关于Java 时间戳 : Joda vs Date vs Long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695825/