java - System.currentTimeMillis() vs. new Date() vs. Calendar.getInstance().getTime()

标签 java performance date time calendar

在 Java 中,使用对性能和资源的影响是什么

System.currentTimeMillis() 

对比

new Date() 

对比

Calendar.getInstance().getTime()

据我了解,System.currentTimeMillis() 是最有效的。但是,在大多数应用程序中,需要将 long 值转换为 Date 或一些类似的对象才能执行对人类有意义的任何事情。

最佳答案

System.currentTimeMillis() 显然是最高效的,因为它甚至不创建对象,但 new Date() 确实是只是一个大约很长的薄 wrapper ,所以它离后面不远了。另一方面,Calendar 相对较慢且非常复杂,因为它必须处理相当复杂的日期和时间(闰年、夏令时、时区、等等)。

通常最好只处理应用程序中的长时间戳或 Date 对象,并且仅在实际需要执行日期/时间计算时才使用 Calendar,或格式化日期以向用户显示它们。如果你必须做很多这样的事情,使用 Joda Time可能是个好主意,因为界面更简洁,性能更好。

关于java - System.currentTimeMillis() vs. new Date() vs. Calendar.getInstance().getTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/368094/

相关文章:

php - 以正确的方式存储时间戳

java - Eclipse 使用的是哪个 Java?

c++ - 为什么我的递归快速排序算法有这样不平衡的分区?

mysql - 我是否需要有二级索引来改进查询?

javascript - 为什么javascript日期月份索引是从0开始的

javascript - 检查 JSON 对象中是否存在日期

java 输入 JTextfield

java - 使用 .equals() 比较两个不同初始化的对象似乎不起作用

java - 在java android应用程序中需要帮助

performance - 创建独特并缓慢合并