Industry standard date utility for .NET

Noda Time aims to create a library which is powerful and easy to use correctly.

Examples (see User Guide)


// Instant represents time from epoch
Instant now = SystemClock.Instance.Now;

// Convert an instant to a ZonedDateTime
ZonedDateTime nowInIsoUtc = now.InUtc();

// Create a duration
Duration duration = Duration.FromMinutes(3);

// Add it to our ZonedDateTime
ZonedDateTime thenInIsoUtc = nowInIsoUtc + duration;

// Timezone support (multiple providers)
var london = DateTimeZoneProviders.Tzdb["Europe/London"];

// Timezone conversions
var localDate = new LocalDateTime(2012, 3, 27, 0, 45, 00);
var before = london.AtStrictly(localDate);

				

More Info

Community

Find out more about Noda Time on our group mailing list or our blog.

For more specific "How do I solve problem X?" questions, please ask on Stack Overflow using the nodatime tag.

Documentation

It is recommended that you read at least the first few pages of user's guide before starting to develop using Noda Time.

You can also check out the API reference.

Contributing

Developers interested in contributing to Noda Time itself should also check out the developer guide and current roadmap.

Our continuous build is hosted by JetBrains on CodeBetter

Main library

Install-Package NodaTime

Useful when testing code

Install-Package NodaTime.Testing