Vali-Time — Ejemplos
dotnet add package Vali-Time
Convert — Segundos a horas
Convierte un valor bruto de una unidad de tiempo a otra usando aritmética de precisión decimal.
using Vali_Time.Core;
using Vali_Time.Enums;
var vt = new ValiTime();
decimal hours = vt.Convert(7200m, TimeUnit.Seconds, TimeUnit.Hours);
Console.WriteLine($"{hours} hours"); // → 2 hours
▶ Abrir en dotnetfiddle — Agrega el paquete NuGet Vali-Time en la configuración del fiddle.
SumTimes — Sumar duraciones de múltiples tareas
Suma una lista de duraciones de tareas expresadas en minutos y obtén el total en horas.
using Vali_Time.Core;
using Vali_Time.Enums;
var vt = new ValiTime();
decimal[] taskMinutes = { 45m, 90m, 30m, 75m };
decimal totalHours = vt.SumTimes(taskMinutes, TimeUnit.Minutes, TimeUnit.Hours);
Console.WriteLine($"Total work: {totalHours} hours"); // → 4 hours
▶ Abrir en dotnetfiddle — Agrega el paquete NuGet Vali-Time en la configuración del fiddle.
ParseTime — Analizar una cadena de duración legible para humanos
Analiza una cadena de duración en texto plano en un valor tipado y su unidad, lista para su posterior procesamiento.
using Vali_Time.Core;
using Vali_Time.Enums;
var vt = new ValiTime();
(decimal value, TimeUnit unit) = vt.ParseTime("1.5 hours");
decimal inMinutes = vt.Convert(value, unit, TimeUnit.Minutes);
Console.WriteLine($"Parsed: {value} {unit}"); // → Parsed: 1.5 Hours
Console.WriteLine($"In minutes: {inMinutes}"); // → In minutes: 90
▶ Abrir en dotnetfiddle — Agrega el paquete NuGet Vali-Time en la configuración del fiddle.
Breakdown — Descomponer una duración en componentes
Descompone un número total de segundos en sus horas, minutos y segundos constituyentes.
using Vali_Time.Core;
using Vali_Time.Enums;
var vt = new ValiTime();
var parts = vt.Breakdown(5461m, TimeUnit.Seconds);
Console.WriteLine($"Hours: {parts[TimeUnit.Hours]}"); // → 1
Console.WriteLine($"Minutes: {parts[TimeUnit.Minutes]}"); // → 31
Console.WriteLine($"Seconds: {parts[TimeUnit.Seconds]}"); // → 1
▶ Abrir en dotnetfiddle — Agrega el paquete NuGet Vali-Time en la configuración del fiddle.
GetBestUnit — Detectar la unidad más legible para una duración
Dado un tiempo en segundos, determina automáticamente la unidad más legible para humanos y su valor convertido.
using Vali_Time.Core;
using Vali_Time.Enums;
var vt = new ValiTime();
// 5400 segundos → 1.5 horas
var (value, unit) = vt.GetBestUnit(5400m);
string formatted = vt.FormatTime(value, unit, 1);
Console.WriteLine($"Best unit: {unit}"); // → Hours
Console.WriteLine($"Formatted: {formatted}"); // → 1.5 hours
// 75 segundos → 1.25 minutos
var (value2, unit2) = vt.GetBestUnit(75m);
Console.WriteLine($"Best unit: {unit2}"); // → Minutes
Console.WriteLine($"Value: {value2}"); // → 1.25
▶ Abrir en dotnetfiddle — Agrega el paquete NuGet Vali-Time en la configuración del fiddle.