java.util.Date获取现在时间
时间: 2024-10-19 17:14:19 浏览: 72
在Java中,如果你想要获取当前的时间,可以使用`java.util.Date`类及其静态方法`new Date()`。这个方法会返回系统当前的时间戳,表示自1970年1月1日(UTC/GMT的午夜)以来的毫秒数。下面是一个简单的例子:
```java
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date currentTime = new Date();
System.out.println("当前时间: " + currentTime);
}
}
```
运行此程序,你会看到类似这样的输出:`当前时间: Thu Jan 05 18:24:36 GMT+08:00 2023`,这是本地时区的日期和时间。
然而,需要注意的是,`Date`类已经不再是推荐的最佳实践,因为它存在一些日期处理的问题,比如没有明确区分闰秒。现在更常用的是`java.time.LocalDateTime`或其包装类`LocalDate`, `LocalTime`等来进行日期和时间的操作。
相关问题
class java.util.Date cannot be cast to class java.sql.Date (java.util.Date is in module java.base of loader 'bootstrap'; java.sql.Date is in module java.sql of loader 'platform')
这个错误是因为您尝试将一个 `java.util.Date` 对象转换为 `java.sql.Date` 对象,但它们并不是相同的类型,无法强制类型转换。`java.util.Date` 是 Java 标准库中的日期和时间类,而 `java.sql.Date` 是 Java SQL 库中的日期类,它继承自 `java.util.Date` 类。它们之间的区别在于,`java.sql.Date` 只包含日期部分,时间部分被忽略了。
如果您需要将 `java.util.Date` 转换为 `java.sql.Date`,可以使用以下方法:
```java
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
```
这里,首先创建了一个 `java.util.Date` 对象 `utilDate`,然后使用 `getTime()` 方法获取其时间戳,并将其传递给 `java.sql.Date` 的构造函数来创建一个新的 `java.sql.Date` 对象 `sqlDate`。
java.util.Date Dates = new java.util.Date(); java.sql.Timestamp time = new java.sql.Timestamp(Dates.getTime());
这段代码的作用是获取当前时间,并将其转换为java.sql.Timestamp类型的时间戳。具体地,首先创建一个java.util.Date对象Dates,它表示当前时间。然后通过调用Dates的getTime()方法获取自1970年1月1日00:00:00 GMT以来的毫秒数,再将这个毫秒数作为参数创建一个java.sql.Timestamp对象time,它表示当前时间的时间戳。这个时间戳可以用于在数据库中存储和比较时间。
阅读全文