簡體   English   中英

如何在 Java 中返回 LocalTime 的總和

[英]How to return sum of LocalTime in Java

它不會得到分鍾。 我需要返回分鍾。 如何在 Java 中迭代 Localtime 時返回分鍾總和?

public String userLunchHoursSum(String username) {
    List<WorkHour> workHours = workHourRepository.findWorkHoursByUsername(username);
    System.out.println(Arrays.toString(workHours.toArray()));
    long diff = 0;
    LocalTime lunchTime;
    long minutes = 0;
    LocalTime plusMinutes = null;
    for (WorkHour workHour : workHours) {
        lunchTime = workHour.getLunch_time().toLocalTime(); //00:30:00
        plusMinutes = lunchTime.plusMinutes(lunchTime.getMinute());
    }
    if(workHours.size()!= 0) {
        return Long.toString(plusMinutes.getMinute());
    }
    return "00:00";
}

getLunch_time返回java.sql.Time

如前所述,您應該存儲持續時間而不是本地時間。 如果這是您無法控制的,請考慮遷移數據庫或創建中間解析 function。 我沒有運行的示例代碼,因為我不知道WorkHour中有什么。

// leave the string formatting to other functions
public long userLunchHoursSum(String username) {
    List<WorkHour> workHours = workHourRepository.findWorkHoursByUsername(username);
    Duration totalDuration = Duration.ZERO;
    for (WorkHour workHour : workHours) {
        // save your time in the appropriate format beforehand
        // do not use local time to store duration.
        Duration lunchTime = Duration.between(LocalTime.MIDNIGHT, workHour.getLunch_time().toLocalTime()); //00:30:00
        totalDuration = totalDuration.plus(lunchTime);
    }
    return totalDuration.toMinutes();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM