37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using System.Globalization;
|
|
|
|
namespace Jugenddienst_Stunden.Converter;
|
|
internal class SecondsTimeConverter : IValueConverter {
|
|
|
|
private int seconds;
|
|
|
|
/// <summary>
|
|
/// Konvertiert eine Sekundenangabe nach Stunden:Minuten, auch bei mehr als 24 Stunden
|
|
/// </summary>
|
|
public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) {
|
|
if (value is null)
|
|
return "0:0";
|
|
if (value is int) {
|
|
seconds = (int)value;
|
|
}
|
|
if (value is double) {
|
|
seconds = (int)Math.Round((double)value);
|
|
} else {
|
|
int.TryParse((string?)value, out seconds);
|
|
}
|
|
|
|
TimeSpan time = TimeSpan.FromSeconds(seconds);
|
|
|
|
return (int)time.TotalHours + ":" + Math.Abs(time.Minutes);
|
|
|
|
//return time.ToString(@"hh\:mm");
|
|
//return time.ToString(@"hh\:mm\:ss");
|
|
|
|
//return "00:00";
|
|
}
|
|
|
|
public object? ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) {
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|