java 开工打开,挂起打卡,工时如何统计 代码
时间: 2024-02-02 07:02:57 浏览: 44
以下是一个简单的Java代码示例,用于记录员工的上班时间、下班时间、休息时间和加班时间,并计算工作时长:
```java
import java.time.Duration;
import java.time.LocalDateTime;
public class WorkTimeCalculator {
private LocalDateTime startWorkTime;
private LocalDateTime endWorkTime;
private LocalDateTime startRestTime;
private LocalDateTime endRestTime;
private Duration workDuration;
private Duration restDuration;
public void startWork() {
startWorkTime = LocalDateTime.now();
}
public void endWork() {
endWorkTime = LocalDateTime.now();
workDuration = Duration.between(startWorkTime, endWorkTime);
}
public void startRest() {
startRestTime = LocalDateTime.now();
}
public void endRest() {
endRestTime = LocalDateTime.now();
restDuration = Duration.between(startRestTime, endRestTime);
}
public Duration getWorkDuration() {
return workDuration.minus(restDuration);
}
}
```
这个类有四个方法:`startWork()`、`endWork()`、`startRest()`、`endRest()`,分别用于记录上班时间、下班时间、休息时间的开始和结束。`getWorkDuration()` 方法用于计算工作时长,根据上班时间和休息时间计算。您可以在您的项目中使用这个类,根据需要进行修改和扩展。