System.currentTimeMillis()和new Date
时间: 2023-10-25 14:32:13 浏览: 127
System.currentTimeMillis()返回当前时间的毫秒数,而new Date()返回一个表示当前时间的Date对象。
如果仅需要获取当前时间的毫秒数,可以使用System.currentTimeMillis()来代替new Date(),因为效率会稍高一些。
在Java中,new Date()实际上是调用了System.currentTimeMillis()来获取当前时间的毫秒数,并将其作为参数传递给Date类的构造函数。
需要注意的是,new Date()引入的是java.util.Date类,而不是java.sql.Date类(用于数据库访问)。
下面是一个示例代码,通过new Date()和System.currentTimeMillis()获取当前时间并进行格式化输出:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
Date date = new Date(); // 使用new Date()获取当前时间
String formattedDate = sdf.format(date);
System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: " + formattedDate);
long currentTimeMillis = System.currentTimeMillis(); // 使用System.currentTimeMillis()获取当前时间的毫秒数
Date date2 = new Date(currentTimeMillis);
String formattedDate2 = sdf.format(date2);
System.out.println("当前时间毫秒数通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: " + formattedDate2);
```
这段代码中,首先使用new Date()获取当前时间,并通过SimpleDateFormat将其格式化输出。然后使用System.currentTimeMillis()获取当前时间的毫秒数,再通过Date类构造函数将其转换为Date对象,并进行格式化输出。可以看到,两种方式得到的结果是一样的。 <span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文