C# TimeZone ExamplesUse the TimeZone type, which is a class in the System namespace that represents different time zones.
TimeZone. This C# type, part of System, describes the current time zone. It gets information about the time zone of the current computer.
Notes, time zones. Time zones on the planet Earth change on lines on longitude. You cannot assume a particular time zone. Handling TimeZones is complex.
Name example. What is the name of a specific time zone? We get information about the names for time zones. We can access the properties StandardName and DaylightName to get these strings.
Also This example shows how to get the current time zone with the TimeZone.CurrentTimeZone property accessor.
C# program that gets time zone names
using System; class Program { static void Main() { // Get current time zone. TimeZone zone = TimeZone.CurrentTimeZone; string standard = zone.StandardName; string daylight = zone.DaylightName; Console.WriteLine(standard); Console.WriteLine(daylight); } }
Mountain Standard Time Mountain Daylight Time
Universal time. There are two concepts of time you can use. The local time depends on where the computer is located. The universal time is independent of this.
Tip With universal times, you can compare times from different locations with no errors.
C# program that checks universal and local times
using System; class Program { static void Main() { TimeZone zone = TimeZone.CurrentTimeZone; // Demonstrate ToLocalTime and ToUniversalTime. DateTime local = zone.ToLocalTime(DateTime.Now); DateTime universal = zone.ToUniversalTime(DateTime.Now); Console.WriteLine(local); Console.WriteLine(universal); } }
8/26/2010 1:02:28 PM 8/26/2010 7:02:28 PM
Get offsets. A UTC offset indicates how many hours a time zone differs from the Coordinated Universal Time. When you call GetUtcOffset on a TimeZone instance, you get a TimeSpan instance.
And The returned TimeSpan indicates how many hours the time is different from UTC.
Note Coordinated Universal Time is also referred to as Zulu Time or Greenwich MeanTime.
C# program that checks UTC offset
using System; class Program { static void Main() { TimeZone zone = TimeZone.CurrentTimeZone; // Get offset. TimeSpan offset = zone.GetUtcOffset(DateTime.Now); Console.WriteLine(offset); } }
Daylight changes. In this example, we get information about the current year's daylight saving changes. If you need to know when the Daylight Changes are, this method is ideal.
C# program that shows daylight changes
using System; using System.Globalization; class Program { static void Main() { // Get daylight saving information for current time zone. TimeZone zone = TimeZone.CurrentTimeZone; DaylightTime time = zone.GetDaylightChanges(DateTime.Today.Year); Console.WriteLine("Start: {0}", time.Start); Console.WriteLine("End: {0}", time.End); Console.WriteLine("Delta: {0}", time.Delta); } }
Start: 3/14/2010 2:00:00 AM End: 11/7/2010 2:00:00 AM Delta: 01:00:00
Daylight saving time. This program scans dates for their daylight saving status. For repeated usage, it is probably better to use GetDaylightChanges instead of IsDaylightSavingTime.
C# program that checks daylight saving time
using System; class Program { static void Main() { DateTime d = new DateTime(2010, 1, 1); TimeZone cur = TimeZone.CurrentTimeZone; bool flag = !cur.IsDaylightSavingTime(d); for (int i = 0; i < 365; i++) { bool f = cur.IsDaylightSavingTime(d); if (f != flag) { Console.WriteLine("{0}: begin {1}", d, f); flag = f; } d = d.AddDays(1); } } }
1/1/2010 12:00:00 AM: begin False 3/15/2010 12:00:00 AM: begin True 11/8/2010 12:00:00 AM: begin False
A summary. The TimeZone type provides a handy way to get information about time zones. We use the CurrentTimeZone property to get the information for the computer.
© 2007-2022 sam allen.
see site info on the changelog.