如何解决推荐哪一个:Instant.nowtoEpochMilli或System.currentTimeMillis
两者都很好。除少数目的外,均不推荐使用。
从纪元开始,您需要几毫秒?
在Java中,我们可以通过多种方法来获取当前时间戳,
对于当前时间戳,请使用Instant.now()
。无需转换为毫秒。
Java诞生之初的许多方法,以及标准库中的许多方法,都以long
自纪元以来的毫秒数为单位。但是,今天我会考虑过时的。看看是否可以找到(或创建)或更现代的方法,例如以aInstant
作为参数。面向对象,不要使用基本类型long
。这将使您的代码更清晰,更容易解释。
正如Eliott Frisch在评论中说的那样,如果这是用于测量经过时间,则您可能更喜欢的高分辨率System.nanoTime()
。
如果自纪元以来 确实 需要毫秒
假设您有充分的理由想要从纪元开始算起毫秒,…
推荐哪个:
Instant.now().toEpochMilli()
或System.currentTimeMillis()
[?]
意见不同。有人会说您应该使用java.time(现代的日期和时间API)进行所有日期和时间工作。这意味着Instant
在这里。联合国秘书长java.time通常是因为从Java
1.0和1.1的日期和时间类的好习惯(Date
,Calendar
,TimeZone
,DateFormat
,SimpleDateFormat
等)的设计不当,现在早已过时的,肯定不是任何我们应该再使用。在另一方面,我不知道有任何设计问题的System.curremtTimeMillis()
特别(除了我上面提到的有关使用long
毫秒数可言,这显然是内在都Instant.now().toEpochMilli()
和System.currentTimeMillis()
)。
如果两者之间的性能差异不大,我很难想象这很重要的情况。
选择您认为在上下文中更具可读性且不那么令人惊讶的选项。
解决方法
在Java中,我们可以有许多不同的方式来获得当前的时间戳,但哪一个建议:
Instant.now().toEpochMilli()
或System.currentTimeMillis()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。