Files
2026-03-25 08:24:25 +01:00

43 lines
1.4 KiB
C#

namespace EgwCoreLib.Lux.Core
{
public class DateTimeUtils
{
/// <summary>
/// Formattazione dataora fissa come HH:mm:ss
/// <param name="tsReq">Timespan da mostrare</param>
/// <returns></returns>
public static string FormatDateTime(TimeSpan tsReq)
{
return $"{tsReq.Hours:00}:{tsReq.Minutes:00}:{tsReq.Seconds:00}";
}
/// <summary>
/// Formattazione dataora:
/// - fino ad 1 h Ym Zs
/// - fino ad 24h Xh Ym
/// - oltre 24h Wd Xh Ym
/// </summary>
/// <param name="tsReq">Timespan da mostrare</param>
/// <param name="maxHour">Max num ore per indicare giorni</param>
/// <returns></returns>
public static string FormatDateTimeExt(TimeSpan tsReq, int maxHour = 24)
{
if (tsReq.TotalHours < 1)
{
// Only minutes and seconds
return $"{tsReq.Minutes:00}\' {tsReq.Seconds:00}\"";
}
else if (tsReq.TotalHours < maxHour)
{
// Hours, minutes, seconds
return $"{tsReq.Hours}h {tsReq.Minutes:00}\'";
}
else
{
// Days + hours + minutes
return $"{tsReq.Days}d {tsReq.Hours}h {tsReq.Minutes:00}\'";
}
}
}
}