public static void Main()
Console.WriteLine("[DateTime] UTC Now: {0}", DateTime.UtcNow.ToString("o"));
Instant now = SystemClock.Instance.GetCurrentInstant();
var isoString = "2019-01-01T05:00:00Z";
var cSharpDateTime = DateTime.Parse(isoString);
Instant then = InstantPattern.ExtendedIso.Parse(isoString).Value;
Instant then2 = Instant.FromDateTimeUtc(cSharpDateTime.ToUniversalTime());
NodaTime.DateTimeZone chicagoZone = DateTimeZoneProviders.Tzdb["America/Chicago"];
Offset chicagoZoneOffsetDelta = chicagoZone.MaxOffset.Minus(chicagoZone.MinOffset);
var chicagoDstOffsetSeconds = chicagoZoneOffsetDelta.Milliseconds / NodaConstants.MillisecondsPerSecond;
Offset chicagoOffset = chicagoZone.GetUtcOffset(now);
int rawUtcOffsetSeconds = chicagoOffset.Milliseconds / NodaConstants.MillisecondsPerSecond;
ZonedDateTime chicagoDateTime = new ZonedDateTime(now, chicagoZone);
Console.WriteLine(" Lib Time Type Value");
Console.WriteLine("-----------------------------------------------------------------------------------");
Console.WriteLine("[Noda] now (Instance) {0}", now);
Console.WriteLine("[Noda] now.utc (ZonedDateTime) {0}", now.InUtc());
Console.WriteLine("[Noda] now.chicgao (ZonedDateTime) {0}", chicagoDateTime);
Console.WriteLine("[Noda] Chicago DateTime Values");
Console.WriteLine("------------------------------");
Console.WriteLine(" Year: {0}", chicagoDateTime.Year);
Console.WriteLine(" Month: {0}", chicagoDateTime.Month);
Console.WriteLine(" Day: {0}", chicagoDateTime.Day);
Console.WriteLine(" Hour: {0} ({1})", chicagoDateTime.Hour, chicagoDateTime.ClockHourOfHalfDay);
Console.WriteLine(" Minute: {0}", chicagoDateTime.Minute);
Console.WriteLine(" Second: {0}", chicagoDateTime.Second);
Console.WriteLine(" Millisecond: {0}", chicagoDateTime.Millisecond);
Console.WriteLine("IsDaylightSavingTime: {0}", chicagoDateTime.IsDaylightSavingTime());
Console.WriteLine(" rawUtcOffsetSeconds: {0}", rawUtcOffsetSeconds);
Console.WriteLine(" dstOffseSeconds: {0}", chicagoDateTime.IsDaylightSavingTime() ? chicagoDstOffsetSeconds : 0);
Console.WriteLine("Reverse");
Console.WriteLine("------------------------------");
Console.WriteLine(" DateTimeZone: {0}", chicagoDateTime.Zone);
Console.WriteLine(" Instant: {0}", chicagoDateTime.ToInstant());