43 lines
1.4 KiB
C#
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}\'";
|
|
}
|
|
}
|
|
}
|
|
}
|