Skip to main content
35+ countries · 45+ IANA zones · .NET 8/9

Vali-Tempo

// time precision for .NET — dates, calendars & timezones

Nine modules. One ecosystem. Precision time.

ValiTimeValiDateValiRangeValiCalendarValiDurationValiAgeValiScheduleValiHolidayValiTimeZoneValiTimeValiDateValiRangeValiCalendarValiDurationValiAgeValiScheduleValiHolidayValiTimeZone
9modules
35+countries
.NET 8/9supported
$dotnet add package Vali-Tempo

Everything you need for precise time handling

Built for .NET developers who need accurate date, time, and timezone operations.

01

Vali-Time

High-precision time unit conversions with decimal accuracy. Convert between milliseconds, seconds, minutes, hours, days and more. Format, clamp, compare and break down durations.

02
📅

Vali-Date

Full date arithmetic — diff, add, subtract, startOf, endOf, isWeekend, isLeapYear, weekOfYear, dayOfYear, progress in year/month and quarter operations.

03
📆

Vali-Range

Expressive date range operations: union, intersection, gaps, split by day/week/month/quarter. Enumerate workdays, expand, shrink, shift and merge ranges fluently.

04
🗓

Vali-Calendar

Workday calendar with pluggable holiday provider support. Calculate workdays between dates, add workdays, query weeks and months, and detect first/last day boundaries.

05

Vali-Duration

High-precision decimal Duration value type. Factory methods from milliseconds to years, full arithmetic operators, TimeSpan interop, formatting and unit conversion.

06
🎂

Vali-Age

Age calculation from a birthdate. Get years, exact breakdown, formatted strings, relative descriptions, birthday detection, next/previous birthday and days until birthday.

07
🔄

Vali-Schedule

Fluent builder for recurring schedules — daily, weekly, monthly, yearly. Query next/previous occurrences, enumerate occurrences in a range, and use custom predicates.

08
🌍

Vali-Holiday

35+ country holiday data with Easter-based movable holidays. Register providers, check if a date is a holiday, get next/previous holidays and detect long weekends.

09
🌐

Vali-TimeZone

45+ curated IANA timezone zones. Convert between zones, handle DST, compute offset differences, find zones by country, format with zone info and compare instants.

precision ecosystem

Nine modules. One time ecosystem.

Nine focused packages. Use one or all — they compose naturally.

--:--:--
ValiTimeZone.Now("local")
🌐Vali-TimeZone
Now("America/Lima")
--:--:--
🌍Vali-Holiday
IsHoliday(Today, "US")
Vali-Time
Convert(90, Min, Hours)
"1.50 h"
📆Vali-Range
Intersect(rangeA, rangeB)
3 overlapping days
🗓Vali-Calendar
WorkdaysIn(30d)
~22 workdays
Vali-Duration
From(TimeSpan.FromHours(2))
"2h 0m 0s"
🔄Vali-Schedule
Every(1,Week).On(Mon)
next: —
🎂Vali-Age
Years(Jan 15, 1993)
33 years
Vali-CountDown
TimeUntil(NewYear)
0d remaining
Program.cs
12345678910111213
builder.Services.AddValiTempo();
// Inject what you need
public class ScheduleService(
IValiTime time,
IValiDate date,
IValiHoliday holiday,
IValiTimeZone tz) {
public bool IsBusinessHour(string zone)
=> !holiday.IsHoliday(DateTime.Today, "PE")
&& time.Convert(9, TimeUnit.Hours, TimeUnit.Minutes)
<= tz.Now(zone).TimeOfDay.TotalMinutes;
}

10 NuGet packages. Install only what you need.

Each package is independent — add the modules your project requires, or grab Vali-Tempo for the full suite.

Time unit conversions with decimal precision. ValiTime + ValiDate classes.

dotnet add package Vali-Time

Date range operations — union, intersection, gaps, split, enumerate workdays.

dotnet add package Vali-Range

Workday calendar engine with pluggable holiday provider support.

dotnet add package Vali-Calendar

High-precision decimal Duration value type with full arithmetic operators.

dotnet add package Vali-Duration

Deadline tracking, countdown utilities, progress and breakdown.

dotnet add package Vali-CountDown

Age calculation from birthdate. AgeResult struct with years, months, days.

dotnet add package Vali-Age

Fluent builder for recurring schedules — daily, weekly, monthly, yearly.

dotnet add package Vali-Schedule

35+ country holiday data with Easter-based movable holidays and IHolidayProvider.

dotnet add package Vali-Holiday

45+ curated IANA timezone zones with DST support and offset computation.

dotnet add package Vali-TimeZone

Meta-package that includes all 9 modules. One install, one AddValiTempo() call.

dotnet add package Vali-Tempo
FM

Built by

Felipe Montenegro

.NET developer and open-source contributor. Also the author of Vali-Blob.