我的一个班级Event
将有一个名为timeStamp
的实例字段。现在,我有另一个类,它将根据其他算法设置timeStamp
,这个算法在这里并不相关。
我的问题是,我应该将此timeStamp
存储在类型中吗?从我到目前为止研究的结果来看,我的印象是它应该以毫秒计算,因此可能会将其存储在double
中。
基本上Clock
类我用以下格式模拟时间:hh:mm:ss。但是,由于它是我正在开发的离散事件模拟,它会从事件跳转到事件,它由timeStamp
值确定,即每个事件对象都有一个timeStamp
值存储在{{1 }}。所以我考虑以与PrioityQueue
相同的格式存储timeStamp
,我想这会让我创建一个新的类Clock
然后成为TimeStamp
的类型。或者我应该让时钟以毫秒为单位模拟时间?
您对此有何看法?我不确定以最有效/最干净的方式实现这一点。
答案 0 :(得分:2)
将毫秒存储在long
中。
您可以使用Joda Time中的DateTime
类来对结果数字执行各种复杂性。 This overload允许您将毫秒值直接插入DateTime
对象。
答案 1 :(得分:2)
如果日期自纪元以来毫秒存储,则应使用long
。
不需要double
,因为你对一毫秒的分数不感兴趣。
您不能使用int
,因为最大int值仅足以表示大约一个月的毫秒数。
你可以得到这样的价值:
long millisSinceEpoch = Calendar.getInstance().getTimeInMillis();