Řidič: %s
`, entry.Name) - fmt.Fprintf(&htmlContent, `Kam: %s
`, entry.Destination) - fmt.Fprintf(&htmlContent, `Datum: %s
`, entry.Date) - fmt.Fprintf(&htmlContent, `Účel jízdy: %s
`, entry.Purpose) - fmt.Fprintf(&htmlContent, `Kilometry na začátku: %d km
`, entry.KmStart) - fmt.Fprintf(&htmlContent, `Kilometry na konci: %d km
`, entry.KmEnd) - fmt.Fprintf(&htmlContent, `Ujeté kilometry: %d km
`, entry.KmEnd-entry.KmStart) + // Formátování dat a časů pro zobrazení + formattedDateStart := "" + if parsedDateStart.IsZero() == false { + monthNameStart := czechMonths[parsedDateStart.Month()-1] + formattedDateStart = fmt.Sprintf("%d. %s %d", parsedDateStart.Day(), monthNameStart, parsedDateStart.Year()) + } else { + formattedDateStart = entry.DateStart + } + + formattedDateEnd := "" + if !parsedDateEnd.IsZero() { + monthNameEnd := czechMonths[parsedDateEnd.Month()-1] + formattedDateEnd = fmt.Sprintf("%d. %s %d", parsedDateEnd.Day(), monthNameEnd, parsedDateEnd.Year()) + } else { + formattedDateEnd = entry.DateEnd + } + + // Výpočet celkové doby jízdy + startDateTime, startErr := time.Parse("2006-01-02T15:04", fmt.Sprintf("%sT%s", entry.DateStart, entry.TimeStart)) + endDateTime, endErr := time.Parse("2006-01-02T15:04", fmt.Sprintf("%sT%s", entry.DateEnd, entry.TimeEnd)) + + totalDurationStr := "Neznámá" + if startErr == nil && endErr == nil { + diffMs := endDateTime.Sub(startDateTime) + if diffMs >= 0 { + diffDays := int(diffMs.Hours() / 24) + diffHours := int(diffMs.Hours()) % 24 + diffMinutes := int(diffMs.Minutes()) % 60 + + if diffDays > 0 { + dayWord := "dní" + if diffDays == 1 { + dayWord = "den" + } else if diffDays >= 2 && diffDays <= 4 { + dayWord = "dny" + } + totalDurationStr = fmt.Sprintf("%d %s, %d h %d min", diffDays, dayWord, diffHours, diffMinutes) + } else { + totalDurationStr = fmt.Sprintf("%d h %d min", diffHours, diffMinutes) + } + } + } + + // Vypsání informací o řidiči a vozidle + htmlContent.WriteString(`GPS souřadnice: %s, %s
`, entry.Coordinates.Lat, entry.Coordinates.Lng) - fmt.Fprintf(&htmlContent, ``, entry.Coordinates.Lng, entry.Coordinates.Lat) + htmlContent.WriteString(`