Java 如何在变量中存储时间?

Java 如何在变量中存储时间?,java,datetime,time,milliseconds,Java,Datetime,Time,Milliseconds,我的一个类Event将有一个名为timeStamp的实例字段。现在,我有另一个类,它将根据一些其他算法设置时间戳,而这些算法在这里并不真正相关 我的问题是,我应该将这个时间戳存储在哪个类型中?根据我到目前为止的研究,我的印象是它应该以毫秒为单位进行计算,并因此将其存储在双精度中 基本上,时钟I类以以下格式模拟时间:hh:mm:ss。然而,由于我正在开发的是离散事件模拟,它从一个事件跳到另一个事件,它通过时间戳值来确定,即每个事件对象都有一个时间戳值,该值存储在优先级队列中。因此,我考虑将时间戳存

我的一个类
Event
将有一个名为
timeStamp
的实例字段。现在,我有另一个类,它将根据一些其他算法设置
时间戳
,而这些算法在这里并不真正相关

我的问题是,我应该将这个时间戳存储在哪个类型中?根据我到目前为止的研究,我的印象是它应该以毫秒为单位进行计算,并因此将其存储在
双精度中

基本上,
时钟
I类以以下格式模拟时间:hh:mm:ss。然而,由于我正在开发的是离散事件模拟,它从一个事件跳到另一个事件,它通过
时间戳
值来确定,即每个事件对象都有一个
时间戳
值,该值存储在
优先级队列
中。因此,我考虑将
时间戳
存储为与
时钟
相同的格式,我想这将涉及我创建一个新类
时间戳
,然后成为
时间戳
的类型。或者我应该让时钟以毫秒为单位模拟时间


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

将毫秒存储在
长的


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

将毫秒存储在
长的

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

如果从历元开始将日期存储为毫秒,则应使用

没有必要使用
双精度
,因为您对毫秒的分数不感兴趣

不能使用
int
,因为最大int值仅足以表示大约一个月的毫秒

您可以得到如下值:

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

当日期存储为从纪元开始的毫秒数时,应使用

没有必要使用
双精度
,因为您对毫秒的分数不感兴趣

不能使用
int
,因为最大int值仅足以表示大约一个月的毫秒

您可以得到如下值:


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

日期时间有什么问题?啊,对不起,我想我在想。约会时间怎么了?啊,对不起,我想我在考虑。我们可以避免浮动比较不精确!我们可以避免浮动比较不精确!