2

我的一个类Event将有一个名为timeStamp. 现在,我有另一个类,它将timeStamp根据其他一些在这里并不真正相关的算法来设置。

我的问题是我应该将其存储在哪种类型timeStamp中?从我迄今为止的研究来看,我的印象是它应该以毫秒为单位计算,因此将它存储在一个double可能的范围内。

基本上,Clock我的课程以以下格式模拟时间:hh:mm:ss。但是,由于它是我正在开发的离散事件模拟,它会从一个事件跳转到另一个事件,它由timeStamp值确定,即每个事件对象都有一个timeStamp存储在PrioityQueue. 所以我考虑timeStamp以与. 还是我应该让时钟以毫秒为单位模拟时间?ClockTimeStamptimestamp

您对此有何看法?我不确定实现这一点的最有效/最干净的方式。

4

2 回答 2

2

将毫秒存储在long.

您可以使用DateTimeJoda Time 中的类对结果数字执行各种复杂的操作。 此重载允许您将毫秒值直接插入DateTime对象。

于 2012-11-07T00:15:58.060 回答
2

当日期存储为自纪元以来的毫秒数时,您应该使用long.

不需要 a double,因为您对毫秒的分数不感兴趣。

您不能使用 an,int因为最大 int 值仅大到以毫秒为单位表示大约一个月。

你可以得到这样的值:

long millisSinceEpoch = Calendar.getInstance().getTimeInMillis();

于 2012-11-07T00:19:06.850 回答