一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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 替代 CalendarDate

替代方案(现代写法)

如果项目支持 Java 8+,建议用新时间 API:

  • Instant instant = calendar.toInstant();
  • Date date = Date.from(instant); // 还是转成 Date,但更清晰
  • 或直接用 LocalDateTime.of(2025, 3, 15, 10, 30) 避免 Calendar

热门栏目