- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在Java中,我们可以有多种不同的方法来获取当前时间戳,但推荐使用以下一种:Instant.now().toEpochMilli()
或 System.currentTimeMillis()
最佳答案
两者都很好。除非出于少数目的,否则都不推荐。
In Java, we can have many different ways to get the current timestamp,
对于当前时间戳,只需使用 Instant.now()
。无需转换为毫秒。
Java 最初几年的许多方法,以及标准库中的许多方法,都采用自纪元以来的 long
毫秒数作为参数。但是,今天我会认为这是过时的。看看您是否可以找到——或创建——或更现代的方法,例如将 Instant
作为参数。面向对象,不要使用原始的 long
。这将使您的代码更清晰、更易于解释。
正如 Eliott Frisch 在评论中所说,如果这是为了测量耗时,您可能更喜欢分辨率更高的 System.nanoTime()
。
假设您有充分的理由想要计算自纪元以来的毫秒数,...
which one is recommended:
Instant.now().toEpochMilli()
orSystem.currentTimeMillis()
[?]
意见不一。有人会说您应该使用 java.time,即现代日期和时间 API 来处理所有日期和时间工作。这意味着 Instant
在这里。 Unsg java.time 通常是一个好习惯,因为来自 Java 1.0 和 1.1 的日期和时间类(Date
、Calendar
、TimeZone
、DateFormat
、SimpleDateFormat
和其他)设计不佳,现在早已过时,当然不应该再使用了。另一方面,我不知道 System.curremtTimeMillis()
有任何设计问题(除了我上面提到的关于使用 long
毫秒数的问题,这显然是 Instant.now().toEpochMilli()
和 System.currentTimeMillis()
所固有的。
如果两者之间存在细微的性能差异,我很难想象这会产生什么影响。
选择您认为在您的上下文中更具可读性且不那么令人惊讶的选项。
关于java - 推荐哪个 : Instant. now().toEpochMilli() or System.currentTimeMillis(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58705657/
我必须生成一个可读的唯一 ID,因此不能使用 UUID。所以我想到了使用Instant.toEpochMilli()。可以用作唯一ID吗? 最佳答案 不。我个人遇到过这样的情况,即两个对象具有相同的
调用 JDK Instant.toEpochMilli() 可能会导致算术上溢/下溢(例如 Instant.MAX.toEpochMilli() 或 Instant.MIN。 toEpochMilli
我正在开发 toEpochMilli() 的字符串转换方法。但是当我在不同时区的区域服务器上发布代码时,我得到了不同的结果。怎么解决? //input = "2019-12-26T00:00:
在Java中,我们可以有多种不同的方法来获取当前时间戳,但推荐使用以下一种:Instant.now().toEpochMilli() 或 System.currentTimeMillis() 最佳答案
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我想使用可以在 ZonedDateTime 和 Instant.toEpochMilli() 之间转换的 MIN/MAX 时间值,用作过滤器/查询的标记值。 我试过: OffsetDateTime.M
您能否阐明如何为默认系统时区和给定时区获取以毫秒为单位的正确纪元时间。 给定 1.时区:GMT+3 2。以下代码片段: import java.time.*; public class Main {
我是一名优秀的程序员,十分优秀!