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()代码>日期时间有什么问题?啊,对不起,我想我在想。约会时间怎么了?啊,对不起,我想我在考虑。我们可以避免浮动比较不精确!我们可以避免浮动比较不精确!