Ir al contenido principal

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
Pruébalo en vivo

▶ 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
Pruébalo en vivo

▶ 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
Pruébalo en vivo

▶ 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
Pruébalo en vivo

▶ 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
Pruébalo en vivo

▶ Abrir en dotnetfiddle — Agrega el paquete NuGet Vali-Time en la configuración del fiddle.