当前位置: 首页 > 面试题库 >

推荐哪一个:Instant.now()。toEpochMilli()或System.currentTimeMillis()

潘修文
2023-03-14
问题内容

在Java中,我们可以有许多不同的方式来获得当前的时间戳,但哪一个建议:
Instant.now().toEpochMilli()System.currentTimeMillis()


问题答案:

两者都很好。除少数目的外,均不推荐使用。

从纪元开始,您需要几毫秒?

在Java中,我们可以通过多种方法来获取当前时间戳,

对于当前时间戳,请使用Instant.now()。无需转换为毫秒。

Java诞生之初的许多方法,以及标准库中的许多方法,都以long自纪元以来的毫秒数为单位。但是,今天我会考虑过时的。看看是否可以找到(或创建)或更现代的方法,例如以a
Instant作为参数。面向对象,不要使用基本类型long。这将使您的代码更清晰,更容易解释。

正如Eliott Frisch在评论中说的那样,如果这是用于测量经过时间,则您可能更喜欢的高分辨率System.nanoTime()

如果自纪元以来 确实 需要毫秒

假设您有充分的理由想要从纪元开始算起毫秒,…

推荐哪个:Instant.now().toEpochMilli()System.currentTimeMillis()[?]

意见不同。有人会说您应该使用java.time(现代的日期和时间API)进行所有日期和时间工作。这意味着Instant在这里。联合国秘书长java.time通常是因为从Java
1.0和1.1的日期和时间类的好习惯(DateCalendarTimeZoneDateFormatSimpleDateFormat等)的设计不当,现在早已过时的,肯定不是任何我们应该再使用。在另一方面,我不知道有任何设计问题的System.curremtTimeMillis()特别(除了我上面提到的有关使用long毫秒数可言,这显然是内在都Instant.now().toEpochMilli()System.currentTimeMillis())。

如果两者之间的性能差异不大,我很难想象这很重要的情况。

选择您认为在上下文中更具可读性且不那么令人惊讶的选项。



 类似资料:
  • 问题内容: 我看到我可以使用以下任一方法在Python中进行绘图: 要么: 两者都使用相同的matplotlib绘图代码。 那么,Matplotlib开发人员/文档当前建议使用哪种方法作为更好的绘图方法?为什么? 问题答案: 官方文档:Matplotlib,pyplot和pylab:它们之间有什么关系? 这两个导入都可以做完全相同的事情,并且将运行完全相同的代码,这只是导入模块的不同方式。 还要注

  • 问题内容: 已关闭 。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我看到我可以使用以下任一方法在 Python中* 进行 绘图 : * 要么: 两者都使用相同的 matplotlib 绘图代码。 那么,Matplotlib开发人员/文档当前建议使用哪种方法作为更好的绘图方法?为什么? 问题答案: 官

  • 本文向大家介绍React组件命名推荐的方式是哪个?为什么不推荐使用displayName?相关面试题,主要包含被问及React组件命名推荐的方式是哪个?为什么不推荐使用displayName?时的应答技巧和注意事项,需要的朋友参考一下 [react] React组件命名推荐的方式是哪个?为什么不推荐使用displayName?

  • 我在使用JavaScript读取JPEG二进制数据时遇到了一些问题,并且正在寻找一些关于库或替代方法的建议。 我正在修改一个名为jsPDF的开源PDF生成库,以便它能够与Appcelerator Tian Alloy 3.41项目一起使用。我遇到的问题是,虽然Tianium使用JavaScript,但实现并不支持所有数据类型或方法。 例如,我发现的大多数JPEG库都使用在web浏览器中实现的ato

  • 本文向大家介绍推荐一个封装好的getElementsByClassName方法,包括了推荐一个封装好的getElementsByClassName方法的使用技巧和注意事项,需要的朋友参考一下 我们知道,原生的JS给我们提供了getElementsByClassName方法,可以通过此方法获取到含有某指定class的节点集合,注意是集合,也就是此函数返回一个数组。 但是,IE却并不支持这个方法,但这