# NodaTime [Noda Time](https://nodatime.org) is a better API for handling dates and times ## Converting Between Types <div> <img src="https://nodatime.org/3.1.x/userguide/conversions.svg" style="background: white; padding: 10px" /> </div> To get the time zone for `InZone` you can use `DateTimeZoneProviders.Tzdb.GetSystemDefault()` to get the default zone. ## `Period` vs `Duration` A `Period` can be added or subtracted to a `LocalDateTime`. A period of 1 month isn't always the same concept because the difference between February 1 and March 1 is not the same as the difference between March 1 and April 1. A `Duration` is always the same. It is expressed as a number of nanoseconds. Because a `Period` is a concept that requires a calendar, it cannot be used to operate on Instants. Similarly, a `Period` can be a converted to a `Duration`, but only when it does not include calendar-specific concepts (months and years). ## Getting Current Week Number ```fsharp let utc = s.Time.InUtc() WeekYearRules.Iso.GetWeekYear(utc.Date) ``` ## Parsing Instants with Fleece ![[Fleece Json Library#Parsing Optional NodaTime Instants in Fleece 0 10]]