public static void Main()
DateTime utcTime = new DateTime(2023, 10, 1, 12, 0, 0, DateTimeKind.Utc);
DateTime localTime = new DateTime(2023, 10, 1, 12, 0, 0, DateTimeKind.Local);
DateTime unspecifiedTime = new DateTime(2023, 10, 1, 12, 0, 0);
Console.WriteLine("localToUniversal: {0}", localTime.ToUniversalTime());
Console.WriteLine("utcToUniversal: {0}", utcTime.ToUniversalTime());
Console.WriteLine("unspecifiedToUniversal: {0}", unspecifiedTime.ToUniversalTime());
Console.WriteLine("unspecifiedToLocal: {0}", unspecifiedTime.ToLocalTime());
Console.WriteLine("localTicks: {0}", localTime.Ticks);
Console.WriteLine("utcTicks: {0}", utcTime.Ticks);
Console.WriteLine("unspecifiedTicks: {0}", unspecifiedTime.Ticks);
Console.WriteLine("localToUniversalTicks: {0}", localTime.ToUniversalTime().Ticks);
Console.WriteLine("utcToUniversalTicks: {0}", utcTime.ToUniversalTime().Ticks);
Console.WriteLine("unspecifiedToUniversalTicks: {0}", unspecifiedTime.ToUniversalTime().Ticks);
Console.WriteLine("unspecifiedToLocalTicks: {0}", unspecifiedTime.ToLocalTime().Ticks);
Console.WriteLine("utcEqualsLocal: {0}", utcTime == localTime);
Console.WriteLine("unspecifiedEqualsLocal: {0}", unspecifiedTime == localTime);
Console.WriteLine("unspecifiedEqualsUtc: {0}", unspecifiedTime == utcTime);
Console.WriteLine("localUniversalEqualsUtcUniversal: {0}", localTime.ToUniversalTime() == utcTime.ToUniversalTime());
Console.WriteLine("unspecifiedUniversalEqualsLocalUniversal: {0}", unspecifiedTime.ToUniversalTime() == localTime.ToUniversalTime());
Console.WriteLine("unspecifiedUniversalEqualsUtcUniversal: {0}", unspecifiedTime.ToUniversalTime() == utcTime.ToUniversalTime());