最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Java中 Calendar getTime 如何转为 Date 对象
时间:2026-07-21 09:20:48 编辑:袖梨 来源:一聚教程网
Calendar.getTime() 直接返回 java.util.Date 实例,无需转换;它将 Calendar 当前时间封装为 Date,注意月份从 0 开始,Java 8+ 推荐使用 Instant 或 LocalDateTime 替代。
Calendar.getTime() 方法本身就是用来获取 Date 对象的,它直接返回一个 Date 实例,不需要额外转换。
Calendar.getTime() 的作用
该方法将当前 Calendar 所表示的时间点(年月日时分秒等)封装成一个 Date 对象。只要 Calendar 已正确设置时间,调用它就能拿到对应的 Date。
- 返回值类型就是
java.util.Date,无需强制类型转换 - 注意:
Calendar是可变对象,修改它会影响后续getTime()的结果 - 示例:
Date date = calendar.getTime();
常见使用场景
比如从当前时间创建 Date:
Calendar cal = Calendar.getInstance();Date now = cal.getTime(); // 直接得到当前时间的 Date
或者设置特定时间后再获取:
立即学习“Java免费学习笔记(深入)”;
cal.set(2025, Calendar.MARCH, 15, 10, 30, 0);Date target = cal.getTime(); // 得到 2025年3月15日 10:30:00 的 Date
注意事项
虽然简单,但容易出错的地方有:
-
Calendar的月份从 0 开始(Calendar.JANUARY = 0),别写成 1 - 确保已调用
set(...)或初始化过,否则可能拿到默认/旧时间 - Java 8+ 推荐用
LocalDateTime/ZonedDateTime替代Calendar和Date
替代方案(现代写法)
如果项目支持 Java 8+,建议用新时间 API:
Instant instant = calendar.toInstant();Date date = Date.from(instant); // 还是转成 Date,但更清晰- 或直接用
LocalDateTime.of(2025, 3, 15, 10, 30)避免Calendar