当前位置:首页 > Java

java时间如何相加

2026-03-25 22:09:05Java

在Java中实现时间相加的方法

使用java.time包(推荐)

Java 8及以上版本提供了java.time包,包含LocalTimeLocalDateTime等类,支持直接进行时间加减操作。

示例:LocalTime相加

import java.time.LocalTime;

LocalTime time1 = LocalTime.of(10, 30); // 10:30
LocalTime time2 = LocalTime.of(2, 15);  // 02:15
LocalTime result = time1.plusHours(time2.getHour()).plusMinutes(time2.getMinute());
System.out.println(result); // 输出: 12:45

示例:LocalDateTime相加

import java.time.LocalDateTime;
import java.time.Duration;

LocalDateTime datetime1 = LocalDateTime.of(2023, 1, 1, 10, 30);
LocalDateTime datetime2 = LocalDateTime.of(2023, 1, 1, 2, 15);
Duration duration = Duration.between(datetime1, datetime2).abs();
LocalDateTime result = datetime1.plus(duration);
System.out.println(result); // 输出: 2023-01-01T12:45

使用Calendar类(旧版兼容)

适用于Java 7及以下版本,通过Calendar进行时间加减。

import java.util.Calendar;

Calendar cal1 = Calendar.getInstance();
cal1.set(Calendar.HOUR_OF_DAY, 10);
cal1.set(Calendar.MINUTE, 30);

Calendar cal2 = Calendar.getInstance();
cal2.set(Calendar.HOUR_OF_DAY, 2);
cal2.set(Calendar.MINUTE, 15);

cal1.add(Calendar.HOUR_OF_DAY, cal2.get(Calendar.HOUR_OF_DAY));
cal1.add(Calendar.MINUTE, cal2.get(Calendar.MINUTE));

System.out.println(cal1.getTime()); // 输出: 12:45的时间对象

使用DurationPeriod处理时间差

适用于需要精确计算时间间隔的场景。

java时间如何相加

import java.time.Duration;
import java.time.LocalTime;

LocalTime start = LocalTime.of(8, 0);
LocalTime end = LocalTime.of(10, 30);
Duration duration = Duration.between(start, end);
LocalTime newTime = start.plus(duration);
System.out.println(newTime); // 输出: 10:30

注意事项

  • 时间相加可能跨越日期边界(如超过24小时),需根据业务逻辑处理。
  • 推荐优先使用java.time包,避免DateCalendar的线程安全问题。

标签: 时间java
分享给朋友:

相关文章

如何运行java

如何运行java

运行Java程序的方法 安装Java开发工具包(JDK) 确保系统已安装JDK。可通过命令行输入 java -version 检查是否安装。若未安装,需从Oracle官网或OpenJDK下载并配置环境…

如何删除java

如何删除java

卸载 Java 的步骤 Windows 系统: 打开控制面板,选择“程序和功能”或“卸载程序”,在列表中找到 Java 相关条目(如“Java Runtime Environment”或“Java D…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何导包

java如何导包

导入包的方法 在Java中,导入包(package)可以通过import语句实现,用于引入其他类或包中的功能。以下是几种常见的导包方式: 导入单个类 import java.util.ArrayL…

java如何连接mysql

java如何连接mysql

连接 MySQL 数据库的基本步骤 添加 MySQL 驱动依赖 在项目中引入 MySQL 的 JDBC 驱动。如果使用 Maven,在 pom.xml 中添加以下依赖: <dependency…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…