用Java代码写一个时分秒加减工具类
时间: 2024-01-26 20:04:23 浏览: 120
java 时间加减
以下是一个简单的Java代码示例,用于执行时间加减操作:
```java
import java.time.LocalTime;
public class TimeCalculator {
/**
* 将时分秒字符串转换为 LocalTime 对象
* @param timeStr 时间字符串,格式为 "hh:mm:ss"
* @return LocalTime 对象
*/
public static LocalTime parseTime(String timeStr) {
String[] timeArr = timeStr.split(":");
int hour = Integer.parseInt(timeArr[0]);
int minute = Integer.parseInt(timeArr[1]);
int second = Integer.parseInt(timeArr[2]);
return LocalTime.of(hour, minute, second);
}
/**
* 将 LocalTime 对象转换为时分秒字符串
* @param time LocalTime 对象
* @return 时间字符串,格式为 "hh:mm:ss"
*/
public static String formatTime(LocalTime time) {
int hour = time.getHour();
int minute = time.getMinute();
int second = time.getSecond();
return String.format("%02d:%02d:%02d", hour, minute, second);
}
/**
* 将时间加上一定的时分秒
* @param timeStr 时间字符串,格式为 "hh:mm:ss"
* @param hourToAdd 要加上的小时数
* @param minuteToAdd 要加上的分钟数
* @param secondToAdd 要加上的秒数
* @return 加上指定时间后的时间字符串,格式为 "hh:mm:ss"
*/
public static String addTime(String timeStr, int hourToAdd, int minuteToAdd, int secondToAdd) {
LocalTime time = parseTime(timeStr);
time = time.plusHours(hourToAdd).plusMinutes(minuteToAdd).plusSeconds(secondToAdd);
return formatTime(time);
}
/**
* 将时间减去一定的时分秒
* @param timeStr 时间字符串,格式为 "hh:mm:ss"
* @param hourToSubtract 要减去的小时数
* @param minuteToSubtract 要减去的分钟数
* @param secondToSubtract 要减去的秒数
* @return 减去指定时间后的时间字符串,格式为 "hh:mm:ss"
*/
public static String subtractTime(String timeStr, int hourToSubtract, int minuteToSubtract, int secondToSubtract) {
LocalTime time = parseTime(timeStr);
time = time.minusHours(hourToSubtract).minusMinutes(minuteToSubtract).minusSeconds(secondToSubtract);
return formatTime(time);
}
// 示例
public static void main(String[] args) {
String time = "12:30:45";
String newTime = addTime(time, 1, 15, 30); // 加上1小时15分钟30秒
System.out.println(newTime); // 输出 "13:46:15"
String oldTime = subtractTime(time, 1, 10, 15); // 减去1小时10分钟15秒
System.out.println(oldTime); // 输出 "11:20:30"
}
}
```
注意:上述代码使用了Java 8中的 `LocalTime` 类,如果您使用的是更早版本的Java,请使用 `java.util.Calendar` 或 `java.util.Date` 等类来实现时间加减操作。
阅读全文