Working with Noda Time
Noda Time is for developers who feel that the built-in libraries for handling dates and times are not good enough. Noda Time is like Joda Time, a replacement date/time handling library for Java.
Noda Time 3.0 or later supports .NET Standard 2.0 and .NET 6 or later. This means that you can use it with legacy platforms like .NET Framework and Xamarin, as well as modern .NET.
To understand one of the core deficiencies with the built-in .NET date/time types, imagine that instead of defining separate types for numbers, like int
(System.Int32
), double
(System.Double
), and decimal
(System.Decimal
), the .NET team defined only a System.Number
type with a property named Kind
to indicate what kind of number it is, how it is stored in memory, how to handle it, and so on.
That is what the team did with System.DateTime
. That type has a Kind
property that indicates if it is a local time, UTC time, or unspecified. It varies in behavior depending on...